32 lines
883 B
Bash
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
|