diff --git a/VPS/restic-backup.sh b/VPS/restic-backup.sh index b92cbe2..3128457 100755 --- a/VPS/restic-backup.sh +++ b/VPS/restic-backup.sh @@ -2,14 +2,11 @@ # Use setcap'd binary in home directory #PATH="/home/restic/bin/:$PATH" -#Not necessary anymore : binary in /usr/bin setcap'd +# Now uses binary in /usr/bin, which is also setcap'd backup_origin="/backups/restic" backup_container="central-backup" -mail_sender='"Name"""' -mail_recipients="first@example.com,second@example.com" - if [[ -z "$1" || "$1" != "daily" && "$1" != "weekly" && "$1" != "monthly" ]]; then echo "Usage : backup [daily|weekly|monthly]" exit 1 @@ -67,31 +64,26 @@ if [ $? -ne 0 ]; then error_message="$error_message""$(cat backup_output.log)" fi -# Sleep to allow time for propagation -sleep 60 - -# Remove old and stale data if [ -z "$error_message" ]; then - restic forget --verbose --prune --group-by tag --tag "$1" --keep-last "$backup_count" > forget_output.log 2>&1 + restic check --verbose > check_output.log 2>&1 fi if [ $? -ne 0 ]; then - error_message="Restic forget failed ! See log bellow.\n\n" - error_message="$error_message""$(cat forget_output.log)" -fi - -# Check repository status -if [ -z "$error_message" ]; then - restic check --verbose > check_output.log 2>&1 -fi -if [ $? -ne 0 ]; then - error_message="Restic check failed ! See log below.\n" - error_message="$error_message""Backup purge will not be run.\n\n" - error_message="$error_message""$(cat check_output.log)" + error_message="Restic check failed ! See log below.\n" + error_message="$error_message""Backup purge will not be run.\n\n" + error_message="$error_message""$(cat check_output.log)" fi # Clean up and remove old backups rm -rf temp/* +if [ -z "$error_message" ]; then + restic forget --verbose --prune --group-by tag --tag "$1" --keep-last "$backup_count" > forget_output.log 2>&1 +fi +if [ $? -ne 0 ]; then + error_message="Restic forget failed ! See log bellow.\n\n" + error_message="$error_message""$(cat forget_output.log)" +fi + if [ -n "$error_message" ]; then echo -e "$error_message" | mail -aFrom:"$mail_sender" -s "[$(uname -n)] ⚠️ Backup error $(date +%D-%Hh%M)" "$mail_recipients"