Ich habe stündliche, tägliche, wöchentliche usw. Backups einer MySQL-Datenbank, die von rsnapshot ausgeführt werden. Diese werden regelmäßig ausgeführt, jedoch nach dem falschen Zeitplan.
Hier sind die Inhalte von /etc/cron.d/rsnapshot
:
5 * * * * root /usr/bin/rsnapshot hourly
30 0 * * * root /usr/bin/rsnapshot daily
35 12 * * 0 root /usr/bin/rsnapshot weekly
40 13 1 * * root /usr/bin/rsnapshot monthly
45 0 1 1 * root /usr/bin/rsnapshot yearly
Wenn ich jedoch die resultierenden Dateien überprüfe, scheint es, dass die Schnappschüsse gemäß dem stündlichen Zeitplan erstellt werden. Beispielsweise heißt das Backup „daily.0“: /backups/daily.0/mysql/2021-01-02_22h05m01s_UTC-db_dump.sql.gz
Sie können sehen, dass diese Datei 5 Minuten nach der vollen Stunde erstellt wurde.
Warum wird der tägliche Job, der jeden Tag um 00:30 Uhr ausgeführt werden soll, 5 Minuten nach der vollen Stunde ausgeführt?
Von Bedeutung könnte dieser Teil meiner sein /etc/rsnapshot.conf
:
retain hourly 3
retain daily 7
retain weekly 4
retain monthly 12
retain yearly 100
Antwort1
Aus den Dokumenten:
Beachten Sie beim Konfigurieren [der Aufbewahrungsintervalle in
/etc/rsnapshot.conf
], dass das erste Element in der Liste das einzige ist, das tatsächlich Dateien aus dem Dateisystem sichert UND seine eigenen vorherigen Sicherungen rotiert. Der Rest rotiert NUR vorherige Sicherungen und erstellt seine neueste Sicherung aus der ältesten Sicherung, die vom vorherigen Element in der Liste erstellt wurde. Daher ist die Reihenfolge, in der diese in der Konfigurationsdatei aufgeführt sind, sehr wichtig.
Aus diesem Grund werden die tatsächlichen Datenbanksicherungsdumps immer nur diejenigen sein, die im häufigsten Intervall erstellt werden, in diesem Fall „stündlich“. Da in Ihrem Beispiel der Cron-Job „stündlich“ fünf Minuten nach der vollen Stunde ausgeführt wird, werden in allen größeren Intervallen (sogar monatlich) Sicherungen beibehalten, die fünf Minuten nach der vollen Stunde erstellt wurden.