Die Zeitplanung (contab) kann als root am Server mit folgendem Befehl editiert werden:
crontab -e
Standardmäßig ist folgendes eingestellt:
0 1 1 * * /usr/sbin/linuxmuster-backup --full 0 2 9,17,25 * * /usr/sbin/linuxmuster-backup --diff 0 3 2-8,10-16,18-24,26-31 * * /usr/sbin/linuxmuster-backup --inc
Problem: Falls das Backup, insbesondere das Full-Backup länger als 6 Stunden dauert, kollidiert es mit der Schulzeit am 1. eines Monats.
Lösung: das Full-Backup immer am 1. Samstag im Monat um 22.30 Uhr starten:
30 22 * * 6 [ `date +\%e` -le 7 ] && /usr/sbin/linuxmuster-backup --full 30 23 * * 6 [ `date +\%e` -gt 7 ] && /usr/sbin/linuxmuster-backup --diff 30 1 * * 2,3,4,5 /usr/sbin/linuxmuster-backup --inc
Variante HEMS: An allen Tagen wird ein incrementelles Backup erstellt außer Freitags. Freitags wird ein differentielles Backup erstellt, am letzten Freitag im Monat ein Full-Backup.
Die Zeilen in der crontab sehen so aus:
35 23 * * 5 /usr/sbin/freitag_backup 36 23 * * 0-4,6 /usr/sbin/linuxmuster-backup --inc
Das Skript „freitag_backup“:
#!/bin/bash let when=`cal | cut -d ' ' -f6 | egrep "[0-9]{2}" | tail -n1` #let when=`cal | cut -d ' ' -f6 | perl -ne 'print if /\d+/' | tail -n1` # echo $when let now=`date "+%d" | perl -pe 's/^0//'` #let now=`date "+%d"` # echo $now if [ $when -eq $now ]; then echo "doing linuxmuster-backup --full" /usr/sbin/linuxmuster-backup --full else echo "doing linuxmuster-backup --diff." /usr/sbin/linuxmuster-backup --diff fi
Hinweis:
Das Skript „freitag_backup“ muss ausführbar gemacht werden und muss sich im Verzeichnis /usr/sbin/ befinden, ansonsten müsste der Pfad in der crontab angepasst werden.