backup_restic

Dies ist eine alte Version des Dokuments!


#!/bin/bash
 
SERVERNAME=[SERVERNAME]
MAILADRESSE=[MAIL@ADRESSE]
 
WHICH="$(/usr/bin/which which)"
ECHO="$($WHICH echo)"
RESTIC="$($WHICH restic)"
TOUCH="$($WHICH touch)"
MAILX="$($WHICH mailx)"
RM="$($WHICH rm)"
PWDFILE="/root/.resticpwd"
REP=("repository1" "ggf. weitere")
BACKUP_PATH=("/backup/pfad/1" "/ggf/weitere /auch/mehrere")
OPTIONS="--compression max"
OPTCLEAN="--keep-last 2 --prune"
 
mail_on_error()
{
  if [ "$1" -ne 0 ]
    then
      $ECHO "Fehler bei $3 $2" | $MAILX -s "Fehler: Restic $SERVERNAME ($3)" $MAILADRESSE
      $RM $LOCK
      exit 0
  fi
}
 
if [ ! -f $1 ]
  then
    case $1 in
      [0-3])
        LOCK="/var/run/backup$1.lock"
        if [ ! -f $LOCK ]
          then
            $TOUCH $LOCK
            $RESTIC $OPTIONS -p $PWDFILE -r ${REP[$1]} backup ${BACKUP_PATH[$1]} 2>&1 >>/tmp/restic.log
            mail_on_error $? ${BACKUP_PATH[$1]} Backup
            $RESTIC forget $OPTCLEAN -p $PWDFILE -r ${REP[$1]} 2>&1 >>/tmp/restic.log
            mail_on_error $? ${BACKUP_PATH[$1]} Cleanup
            $RM $LOCK
        fi
      ;;
      *)
        exit 0
      ;;
    esac
fi
  • backup_restic.1723043995.txt.gz
  • Zuletzt geändert: 2024/08/07 15:19
  • von Christoph Stoltz