CRONTABS

CRONTABS

CRONTABS

Ich verwende rsnapshot mit cron. Folgendes sudo crontab -lwird mir angezeigt.

0 */4           * * *   /usr/bin/rsnapshot hourly
30 3    * * *           /usr/bin/rsnapshot daily
0  3    * * 1           /usr/bin/rsnapshot weekly

AUSGABE

Ich habe den Sicherungsordner überprüft, um festzustellen, ob alles richtig funktioniert, aber hier ist die nach Zeit sortierte Ausgabe:

elijah@degas:~$ ls -lt /media/backup/
total 0
drwxrwxrwx 1 root root 0 May 30 04:00 hourly.1
drwxrwxrwx 1 root root 0 May 23 04:00 hourly.2
drwxrwxrwx 1 root root 0 May 17 04:00 hourly.3
drwxrwxrwx 1 root root 0 May 14 04:00 hourly.4
drwxrwxrwx 1 root root 0 May 13 04:00 hourly.5
drwxrwxrwx 1 root root 0 May 12 04:00 daily.0
drwxrwxrwx 1 root root 0 May 10 04:00 daily.1
drwxrwxrwx 1 root root 0 May  7 04:00 daily.2
drwxrwxrwx 1 root root 0 May  4 04:00 daily.3
drwxrwxrwx 1 root root 0 Apr 29 16:00 daily.4
drwxrwxrwx 1 root root 0 Apr 28 20:00 daily.5
drwxrwxrwx 1 root root 0 Apr 28 16:04 hourly.0
drwxrwxrwx 1 root root 0 Apr 28 12:21 daily.6
drwxrwxrwx 1 root root 0 Apr 27 10:09 weekly.1
drwxrwxrwx 1 root root 0 Apr 25 07:23 weekly.3

Die Ausgabe scheint fast zufällig zu sein! Warum könnte das passieren? Ich habe eine, wie ich dachte, identische Konfiguration auf einem anderen Rechner und sie scheint einwandfrei zu funktionieren.

SYSLOG

elijah@degas:~$ cat /var/log/syslog.1 | grep cron
Jun 20 07:40:21 degas anacron[2795]: Job `cron.daily' terminated
Jun 20 07:40:21 degas anacron[2795]: Normal exit (1 job run)
Jun 20 08:17:01 degas CRON[3144]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 09:17:01 degas CRON[3228]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 10:17:01 degas CRON[4893]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 11:17:01 degas CRON[8737]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 12:17:01 degas CRON[10192]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 13:17:01 degas CRON[11870]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 14:17:01 degas CRON[12829]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 15:17:01 degas CRON[13614]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 15:54:28 degas crontab[14446]: (root) BEGIN EDIT (root)
Jun 20 15:55:27 degas crontab[14446]: (root) END EDIT (root)
Jun 20 15:55:29 degas crontab[14460]: (root) LIST (root)
Jun 20 16:17:01 degas CRON[14770]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 16:44:04 degas crontab[14911]: (root) DELETE (root)
Jun 20 16:44:07 degas crontab[14913]: (root) LIST (root)
Jun 20 17:17:01 degas CRON[15713]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 18:17:01 degas CRON[15842]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 19:17:01 degas CRON[15928]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 20:17:01 degas CRON[16023]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 21:17:01 degas CRON[16110]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 22:17:01 degas CRON[16212]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 20 23:17:01 degas CRON[16300]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 21 00:00:01 degas CRON[16372]: (root) CMD (invoke-rc.d atop _cron)
Jun 21 00:17:01 degas CRON[16437]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 21 01:17:01 degas CRON[16525]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 21 02:17:01 degas CRON[16612]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 21 03:17:01 degas CRON[16701]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 21 04:17:01 degas CRON[16798]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 21 05:17:01 degas CRON[16886]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 21 06:17:01 degas CRON[16974]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 21 06:25:01 degas CRON[16988]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
Jun 21 07:17:01 degas CRON[17061]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 21 07:30:01 degas CRON[17083]: (root) CMD (start -q anacron || :)
Jun 21 07:30:01 degas anacron[17086]: Anacron 2.3 started on 2016-06-21
Jun 21 07:30:01 degas anacron[17086]: Will run job `cron.daily' in 5 min.
Jun 21 07:30:01 degas anacron[17086]: Jobs will be executed sequentially
Jun 21 07:35:01 degas anacron[17086]: Job `cron.daily' started
Jun 21 07:35:01 degas anacron[17099]: Updated timestamp for job `cron.daily' to 2016-06-21

RSnapshot-Test

elijah@degas:~$ /usr/bin/rsnapshot -t hourly
echo 23633 > /var/run/rsnapshot.pid 
/bin/rm -rf /media/backup/hourly.5/ 
mv /media/backup/hourly.4/ /media/backup/hourly.5/ 
mv /media/backup/hourly.3/ /media/backup/hourly.4/ 
mv /media/backup/hourly.2/ /media/backup/hourly.3/ 
mv /media/backup/hourly.1/ /media/backup/hourly.2/ 
/bin/cp -al /media/backup/hourly.0 /media/backup/hourly.1 
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
    --exclude=/var/ --exclude=/space/ --exclude=/nfs/ --exclude=/media/ \
    --exclude=/proc/ --exclude=/sys/ --exclude=/dev/ --exclude=/tmp/ \
    --exclude=/cdrom/ --exclude=media/backup /. \
    /media/backup/hourly.0/Backup 
touch /media/backup/hourly.0/ 

Antwort1

Dieser ursprüngliche Ratschlag gilt nur fürDebian-basierte Distributionen:

Die beiden crontabvon Ihnen angezeigten Segmente sind nicht identisch crontab. Ihre Jobs werden also zweimal ausgeführt (einmal von /etc/cron.d/rsnapshotund einmal von crontab -l).

Entfernen Sie einen Satz, beispielsweise mit sudo crontab -r, und es wird ordnungsgemäß funktionieren.


Der nächste Vorschlag istStellen Sie sicher, dass sync_firstnicht eingestellt istin der /etc/rsnapshot.confDatei. (Oder wenn ja, dann ist es 0.) Andernfalls wird zwar ein Wechsel der rsnapshot-Verzeichnisse durchgeführt, ohne einen expliziten Befehl wird jedoch kein Backup erstellt rsnapshot sync.

Antwort2

Nach ein paarerweiterte Diskussiones scheint, dass das Dateisystem beschädigt sein könnte. Beispielsweise rm -rfschlägt - als Root - ein normaler Dateibaum fehl.

Nach dem Aushängen des Dateisystems fsckwurde es als NTFS identifiziert.

Frustrierenderweise habe ich gesehen, wie NTFS auf anderen Linux-basierten Plattformen unter der hohen Belastung durch abstürzte rsnapshot. Es gibt nichts ausreichend Wiederholbares, mit dem ein Fehler gemeldet werden kann, aber eine Woche voller rsnapshotskann das Dateisystem normalerweise beschädigen.

Meine Empfehlung ist, das NTFS-Dateisystem durch etwas zu ersetzen, das für ein Linux-basiertes System nativ ist, wie z. B. ext4. Nebenbei bemerkt, wenn auf die Backups von einer Windows-Plattform aus zugegriffen werden muss, habe ich gute Erfahrungen mitdas Ext2FSD-Dienstprogramm und der Treiber für extN-Dateisysteme(auch beiQuelleschmiede).

verwandte Informationen