#4758 closed Defekt (bleibt so)
Backup-Schema "monthly" überprüfen
| Reported by: | Rüdiger Kupper | Owned by: | Rüdiger Kupper |
|---|---|---|---|
| Priority: | bei Gelegenheit | Milestone: | Schuljahr 2022/23 |
| Component: | Server: Backups | Severity: | beeinträchtigt keinen Unterricht |
| Keywords: | Cc: | bau |
Description
Das Schema "monthly" scheint seit September nicht mehr abgearbeitet zu werden?!
Change History (7)
comment:1 by , 4 years ago
| Priority: | hoch → höchste |
|---|---|
| Status: | new → accepted |
comment:2 by , 4 years ago
| Cc: | added |
|---|---|
| Priority: | höchste → gering |
comment:3 by , 4 years ago
Klarer machen könnten wir das, indem wir die Crontab-Termine mit den Aufbewahrungszeiträumen in Übereinstimmung bringen. Da wir "daily" 14 Tage lang aufbewahren reicht es auch, wenn "weekly" jede zweite Woche läuft. Und "monthly" braucht nur alle drei Monate zu laufen, weil "weekly" 12 Wochen lang aufbewahrt wird.
Die Namen sollten wir dann vielleicht auch anpassen, Vorschlag:
daily, biweekly, quarterly, biennial
Bisschen unhandlich von den Worten, würde aber inhaltlich passen.
comment:4 by , 4 years ago
In der Vorlage für die rsnapshot.conf steht daher auch einfach nur "alpha, beta, gamma, delta" – jetzt verstehe ich auch warum ;-).
comment:5 by , 4 years ago
Jetzt verbiegt sich grade mein Gehirn etwas, wie die Aufbewahrungszeiten sein müssen, damit sich nichts mehr überlappt. Muss das dann so aussehen?!
retain daily 14 # tägliches Backup der letzten 14 Tage retain biweekly 6 # 6 Backups alle zwei Wochen, also bis 12 Wochen in die Vergangenheit (3 Monate) retain quarterly 8 # 8 Backups jedes Vierteljahr, also bis 24 Monate in die Vergangenheit (2 Jahre) retain biennial 2 # 2 Backups alle zwei Jahre, also bis 4 Jahre in die Vergangenheit
Das müsste dem entsprechen, was wir uns ursprünglich vorgestellt hatten. Nur bei den Jahresbackups hatten wir bis 5 Jahre in die Vergangenheit vorgesehen, da ergibt aber nur 4 Jahre oder eben 6 Jahre Sinn.
comment:6 by , 4 years ago
| Resolution: | → bleibt so |
|---|---|
| Status: | accepted → closed |
Ah, nein, jetzt hab ich mich selbst reingelegt: Wir wollen nach den 14 Tagen ja *wirklich* jede Woche einen Snapshot haben. Nicht nur alle zwei Wochen. Unsere Einstellungen machen also genau das, was wir wollten.
Es geht auch kein Snapshot verloren oder ist doppelt (die werden ja nur durch mv verschoben). Das einzige, was mich verwirrt hat, ist die Folge der Überlappung:
- wir haben wöchentliche Snapshots in weekly, doch der neuste davon ist immer mind. 14 Tage alt.
- Wir haben monatliche Snapshots in monthly, doch der neuste ist immer mind. drei Monate + 2 Wochen alt.
- Und der neuste yearly-Snapshot ist immer mind. 2 Jahre + 3 Monate + 2 Wochen alt.
Sucht man die jeweils jüngeren muss man nur im „übergeordneten“ Backupschema suchen.
Mann, das hat ja jetzt gedauert, bis ichs durchschaut hatte! Es darf also alles bleiben wie es ist, ich schreibe einfach ein README damut ichs nicht wieder vergesse.
comment:7 by , 4 years ago
gute Arbeit - guter Plan!
Wenn wir eine Dokumentation dafür haben, dann lässt sich das auch in Zukunft leichter verstehen.
Das Backup läuft schon, aber nicht so wie wir es haben wollten.
Ursache ist, wenn ich es recht durchschaue, dass wir überlappende „Aufbewahrungszeiträume“ gewählt haben:
In /etc/rsnapshot.conf steht:
Die Jobs müssen über cron zum richtigen Zeitpunkt ausgeführt werden. Unsere Crontab passt aber nicht exakt zu den oben angegebenen Zeiträumen:
In /etc/cron.d/rsnapshot steht:
Der Job "weekly" wird also wirklich jede einzelne Woche ausgeführt, "monthly" wirklich jeden Monat.
Was wir nicht beachtet haben ist, wie die "langsamen" rsnapshot-Jobs ablaufen. Der einzige Job, der wirklich den Dateibaum per rsync kopiert ist der primäre – bei uns "daily". Alle anderen Jobs machen nur mv-Befehle.
Der "weekly"-Job läuft jede Woche und macht das hier (aus /var/log/rsnapshot.log):
Entscheidend ist der letzte mv: Hier wird die älteste daily-Version zur neusten weekly-Version „umgewidmet“.
Genauso „klaut" sich der "monthly"-Job jeden Monat den letzten "weekly"-Snapshot, das ist bei uns weekly.11, also 12 Wochen alt. Es ist daher klar, dass der neuste monthly-Eintrag immer 12 Wochen zurück liegt, drei Monate. Und genau das sagt auch das Dateisystem:
Heute ist der 13.2.2023:
Suchen wir nach den Backups von November bis Januar, so müssen wir bei den "weekly"-Backups schauen:
Es sind also alle Backups da, nur nicht unbedingt dort, wo man sie bei unserer Namensgebung erwartet.