Backrest: install Backrest as a systemd service to simplify pre/post-backup hooks (e.g., docker compose stop/start). Do not want to overcomplicate setup and run backrest (single binary) in a container with SSHing to host and/or docker.sock access

This commit is contained in:
v.karaychentsev
2026-02-20 11:34:29 +03:00
parent 7d7080b336
commit 2bf6cba869
4 changed files with 54 additions and 42 deletions

View File

@@ -0,0 +1,28 @@
#! /bin/bash
set -euo pipefail
BACKREST_VERSION='v1.11.2'
TMPDIR="$(mktemp -d)"
# backrest working directory
sudo mkdir -p /home/backups/backrest
sudo chown backups:backups /home/backups/backrest
curl -fL -o "${TMPDIR}/backrest.tar.gz" \
"https://github.com/garethgeorge/backrest/releases/download/${BACKREST_VERSION}/backrest_Linux_x86_64.tar.gz"
tar -xzf "${TMPDIR}/backrest.tar.gz" -C "${TMPDIR}"
if systemctl is-active --quiet backrest; then
sudo systemctl stop backrest
echo "Paused backrest for update"
fi
sudo install -D -o root -g root -m 0644 ./backrest.service /etc/systemd/system/backrest.service
sudo install -o root -g root -m 0755 "${TMPDIR}/backrest" /usr/local/bin/backrest
echo "Reloading systemd service"
sudo systemctl daemon-reload
sudo systemctl enable --now backrest
rm -rf "${TMPDIR}"