#!/bin/bash LOCKFILE=/var/lib/restic/run_restic_once_a_day.lock LOG=/tmp/run_restic_backup_once_a_day.log echo "">>$LOG && echo $(date) >> $LOG if [ -e "$LOCKFILE" ]; then echo Check if the lock file is from today >> $LOG if [ "$(date +%Y-%m-%d)" != "$(cat $LOCKFILE)" ]; then echo Lock file is from a previous day, remove it >> $LOG rm "$LOCKFILE" else echo Lock file is from today, exit >> $LOG exit 0 fi fi echo Run restic backup >> $LOG logger -p local0.notice -s "Running restic backup" /usr/bin/date +%Y-%m-%d > $LOCKFILE && /usr/bin/touch $LOCKFILE # create lockfile immediately sleep 30 HOME=/root RESTIC_REPOSITORY=rest:https://test:test@restic.hermes.markus-spring.info /usr/bin/restic -v --password-file /root/resticpw --host denkbrett --exclude-caches --exclude-file=/root/restic-exclude.txt backup /etc /home/springm /root /usr/local /var/spool/cron/crontabs 2>>$LOG if [[$? -eq 0]]; then echo "Backup successful">>$LOG else rm $LOCKFILE fi