homeserver/roles/mgrote.restic/templates/restic_backup.sh
mg ffe99130f9 Error-Mail wenn restic-backup einen Exit-Code !=0 hat (#5)
Link

Typo

Bugfix: Postfix - tlx-param

Mailversand - wip

Syntax

Rolle postfix als Voraussetzung für restic

Co-authored-by: Michael Grote <38253905+quotengrote@users.noreply.github.com>
Reviewed-on: mg/ansible#5
2020-12-18 22:07:03 +01:00

43 lines
1.2 KiB
Bash

#!/bin/bash
# https://forum.rclone.org/t/bash-script-cronjob-for-automating-rclone-sync/13526/2
LOCKDIR=${HOME}/.cache
# Get an exclusive lock or exit
function exlock() {
exec {lock_fd}>${LOCKDIR}/$(basename $0).lock
flock -nx "$lock_fd"
if [[ $? == 1 ]]; then
exit 1
fi
}
# Cleanup lock file and exit
function unlock() {
rm "${LOCKDIR}/$(basename $0).lock"
[[ -n $1 ]] && exit $1
exit
}
# Damit prueft ob das Script ob es schon laeuft
exlock
(
echo "--------------------------------------------------"
echo $(date)
mount -t cifs -o credentials="/etc/restic/smb_password.txt",vers=3.0 {{ restic_repository }} {{ restic_mount }}
restic -r {{ restic_mount }} --password-file /etc/restic/password.txt backup --exclude-file /etc/restic/exclude.txt {{ restic_folders_to_backup }}
# Mail wenn Restix Exit != 0 #https://stackoverflow.com/a/45817972
retVal=$?
if [ $retVal -ne 0 ]; then
echo "ERROR - Restic - $HOSTNAME" | mail -s "ERROR - Restic - $HOSTNAME" {{ empfaenger_mail }}
fi
umount {{ restic_mount }}
echo "--------------------------------------------------"
) >> /var/log/restic.log 2>&1
#Hiermit wird die Lockdatei geloescht
unlock