41 lines
1.2 KiB
Bash
41 lines
1.2 KiB
Bash
#!/bin/sh
|
|
|
|
GOTIFYURL="$GOTIFYHOST/message?token=$GOTIFYTOKEN"
|
|
|
|
echo "$(date +"%Y-%m-%dT%T") - Starting backup"
|
|
|
|
restic backup \
|
|
--verbose \
|
|
$SOURCEDIR
|
|
|
|
RESTIC_BACKUP_RETURN=$?
|
|
|
|
if [ $RESTIC_BACKUP_RETURN -eq 0 ]; then
|
|
MSG_BACKUP_SUCCESS="Backup successful"
|
|
echo "$(date +"%Y-%m-%dT%T") - $MSG_BACKUP_SUCCESS"
|
|
curl -s -X POST "$GOTIFYURL" -F "title=$GOTIFYTOPIC" -F "message=$MSG_BACKUP_SUCCESS"
|
|
else
|
|
MSG_BACKUP_ERR="Backup failed with error code $RESTIC_BACKUP_RETURN"
|
|
echo "$(date +"%Y-%m-%dT%T") - MSG_BACKUP_ERR"
|
|
curl -s -X POST "$GOTIFYURL" -F "title=$GOTIFYTOPIC" -F "message=$MSG_BACKUP_ERR"
|
|
exit $RESTIC_BACKUP_RETURN
|
|
fi
|
|
|
|
|
|
MSG_PURGE_START="$(date +"%Y-%m-%dT%T") - Removing old backups"
|
|
echo $MSG_PURGE_START
|
|
|
|
restic forget --keep-last $KEEPLAST --prune
|
|
RESTIC_PURGE_RETURN=$?
|
|
|
|
if [ $RESTIC_PURGE_RETURN -eq 0 ]; then
|
|
echo "$(date +"%Y-%m-%dT%T") - Purge successful"
|
|
else
|
|
MSG_PURGE_ERR="Purge failed with error code $MSG_PURGE_ERR"
|
|
echo "$(date +"%Y-%m-%dT%T") - $MSG_PURGE_ERR"
|
|
curl -s -X POST "$GOTIFYURL" -F "title=$GOTIFYTOPIC" -F "message=$MSG_PURGE_ERR"
|
|
exit $RESTIC_PURGE_RETURN
|
|
fi
|
|
|
|
echo "$(date +"%Y-%m-%dT%T") - Going back to sleep..."
|