Hallo zusammen,
Ich doktere seit einigen Wochen an einem mir unerklärlichen Problem herum und konnte weder über googlen noch über ducken eine Erklärung finden.
Ich betreibe einen kleinen Cloud-Server mit einem Raspberry Pi und Debian Wheezy (Raspbian) drauf. Auf eine über ein Hub angeschlossene externe Festplatte führe ich mittels eines selbstgeschriebenen Skripts täglich ein Backup mit duplicity durch.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #!/bin/bash # Sicherstellen, dass die Festplatte gemountet ist mount -a if [ $? -ne 0 ] then echo "Das Einhängen der externen Festplatte ist fehlgeschlagen." echo "daily_backup bricht ab!" exit 1 fi # Entferne Backups, die älter als 6 Monate sind PASSPHRASE="MEINPASSWORT" duplicity remove-older-than 6M file:///media/BACKUP/raspi/ if [ $? -ne 0 ] then echo "duplicity beendete mit Exit-Status 1." echo "daily_backup bricht ab!" exit 1 fi # Backup auf externer Festplatte PASSPHRASE="MEINPASSWORT" duplicity --full-if-older-than 1M \ --verbosity 2 \ --include /etc --include /home --include /root --include /var/lib/mysql --include /var/mail --inc\ lude /var/www \ --exclude '**' \ / file:///media/BACKUP/raspi/ # >>/home/homer77/daily_backup_log if [ $? -ne 0 ] then echo "Die Sicherung ist gescheitert!" echo "daily_backup wurde abgebrochen." mail -s "[daily_backup report] Fehlschlag!" homer77 < "Die Sicherung mit duplicity ist gesche\ itert." else echo "Die Sicherung war erfolgreich!" tail -n20 /home/homer77/daily_backup_log | mail -s "[daily_backup report] Sicherung erfolgrei\ ch!" homer77 fi |
Von Hand durchgeführt funktioniert das Skript problemlos. Probleme bereitet hingegen die Automatisierung via cronjob, der das Skript jede Nacht um 4 Uhr starten soll.
1 | # sudo crontab -l
|
gibt gekürzt Folgendes aus:
1 2 3 4 | # m h dom mon dow command */15 * * * * /usr/bin/php -f /var/www/owncloud/cron.php * 4 * * * /usr/bin/daily_backup >> /home/homer77/daily_backup_log |
Das Skript wird auch erfolgreich zu diesem Zeitpunkt gestartet - so weit so gut, aber ab dann läuft's leider schräg:
Statt das Skript zu starten, abzuarbeiten und gut ist's, startet cron das Skript etwa minütlich, wodurch ich am nächten Morgen kaum noch auf den Server zugreifen kann, weil etwa 60 duplicity-Prozesse in der Luft hängen und sich gegenseitig und das ganze Gerät blockieren.
Ich schnall's nicht! Bedeutet meine Zeile im crontab nicht, dass der Prozess genau einmal um 4 Uhr startet? Ich hab doch nicht geschrieben "in der Stunde 4 jede Minute". Oder hab ich die cron-Syntax irgendwie missverstanden?
Für sachdienliche Hinweise, die zur Ergreifung des Bugs führen, wäre ich Euch jedenfalls sehr dankbar ☺