lots of stuff
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
source /opt/backup/metrics.sh
|
||||
|
||||
now=$(date +"%Y%m%d%H%M")
|
||||
|
||||
declare -a arr=("mail" "matrix" "monitoring")
|
||||
@@ -12,6 +14,8 @@ declare -a immich=("systemd-immich-pgdata" "systemd-immich-upload")
|
||||
gitea_uid=$(id -u gitea)
|
||||
immich_uid=$(id -u immich)
|
||||
|
||||
metric_init daily
|
||||
|
||||
restore() {
|
||||
for i in "${arr[@]}"; do
|
||||
cd /opt/beeserver/${i}
|
||||
@@ -32,10 +36,21 @@ restore() {
|
||||
rm -f /home/immich/systemd-immich-*.tar
|
||||
}
|
||||
|
||||
trap restore EXIT
|
||||
finish() {
|
||||
local raw=$?
|
||||
local status
|
||||
|
||||
status=$(metric_status ${raw})
|
||||
restore
|
||||
metric_finish ${status}
|
||||
exit ${status}
|
||||
}
|
||||
|
||||
trap finish EXIT
|
||||
|
||||
for i in "${arr[@]}"
|
||||
do
|
||||
log "staging ${i}"
|
||||
cd /opt/beeserver/${i}
|
||||
podman-compose down -t 60
|
||||
if [[ "$i" == "monitoring" ]]
|
||||
@@ -57,10 +72,12 @@ do
|
||||
podman-compose up -d
|
||||
done
|
||||
|
||||
log "staging gitea"
|
||||
systemctl --user --machine gitea@.host stop gitea-server.service gitea-db.service
|
||||
rsync -aH /home/gitea/data /opt/backup/beeserver/gitea
|
||||
systemctl --user --machine gitea@.host start gitea-db.service gitea-server.service
|
||||
|
||||
log "staging immich"
|
||||
systemctl --user --machine immich@.host stop immich-server.service immich-db.service immich-redis.service
|
||||
for v in "${immich[@]}"
|
||||
do
|
||||
@@ -70,17 +87,22 @@ systemctl --user --machine immich@.host start immich-db.service immich-redis.ser
|
||||
mkdir -p /opt/backup/beeserver/immich/
|
||||
mv /home/immich/systemd-immich-*.tar /opt/backup/beeserver/immich/
|
||||
|
||||
log "staging vaultwarden"
|
||||
systemctl --user --machine vaultwarden@.host stop vaultwarden.service
|
||||
rsync -aH /home/vaultwarden/data /opt/backup/beeserver/vaultwarden
|
||||
systemctl --user --machine vaultwarden@.host start vaultwarden.service
|
||||
|
||||
archive=/home/beeshare/raid/serverBackup/beeserver_daily_${now}.tar.gz.gpg
|
||||
|
||||
log "encrypting ${archive}"
|
||||
tar -czf - /opt/backup/beeserver | gpg --batch --passphrase-file /opt/backup/passphrase.txt -c -o ${archive}
|
||||
|
||||
log "verifying ${archive}"
|
||||
if ! gpg --batch --passphrase-file /opt/backup/passphrase.txt -d ${archive} | tar -tzf - >/dev/null
|
||||
then
|
||||
echo "[${now}] verify failed, discarding ${archive}"
|
||||
log "verify failed, discarding ${archive}"
|
||||
rm -f ${archive}
|
||||
exit 1
|
||||
fi
|
||||
|
||||
metric_archive ${archive}
|
||||
|
||||
Reference in New Issue
Block a user