Files
beepi/playbooks/backup/backupWeekly.sh
T
2026-08-16 14:48:04 +02:00

32 lines
883 B
Bash

#!/bin/bash
set -euo pipefail
source /opt/backup/metrics.sh
now=$(date +"%Y%m%d%H%M")
archive=/home/beeshare/raid/serverBackup/beeserver_weekly_${now}.tar.gz.gpg
metric_init weekly
trap metric_guard EXIT
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
log "verify failed, discarding ${archive} and keeping staging"
rm -f ${archive}
exit 1
fi
metric_archive ${archive}
rm -rf /opt/backup/beeserver
log "pruning expired archives"
find /home/beeshare/raid/serverBackup -maxdepth 1 -name 'beeserver_weekly_*.tar.gz.gpg' -mtime +30 -delete
find /home/beeshare/raid/serverBackup -maxdepth 1 -name 'beeserver_daily_*.tar.gz.gpg' -mtime +7 -delete