davidmue
Goto Top

Linux Script - Backup A nach der erfolgreichen erstellung von Backup B löschen

Guten Tag zusammen,

vorerst muss ich gestehen ich bin was Scripting angeht nicht fit.. Deshalb hoffe ich ihr könnt mir helfen face-smile

Überblick:
Datenbank erstellt 1x wöchentlich ein Fullbackup, dazwischen laufen die Inkrementellen Backups.
Da es des Öfteren beim erstellen eines Fullbackups zu Problemen kam, entschieden wir uns das ältere FuBa für den Notfall für ein Paar tage zu behalten.

Konstellation:
(Linux Landschaft)
Im Backup verzeichnis liegen 2 FuBa und 6 IncBa...
FuBa A --- erste Woche
FuBa B --- zweite Woche
Inc 1-6 --- Verteilt über eine Woche

Nachdem FuBa B erstellt wurde lösche ich händisch FuBa A...
Im der Nächsten Backup Periode schreibt die Datenbank einen FuBa A und FuBa B warter aud die Händische löschung..
Die FuBa müssen in einem verzeichnis mit den IncBa liegen, eine lösung per umbennenung des verzeichnisses ist daher nicht möglich.
Datum und Zeit in der das Ba erstellt wird ist nicht immer gleich....

Wie kann man hier am besten vorgehen um eine Automtische löschung vorzunehmen ?

Besten Dank
David

Content-Key: 338198

Url: https://administrator.de/contentid/338198

Printed on: April 19, 2024 at 23:04 o'clock

Mitglied: 132895
132895 May 18, 2017 updated at 08:12:09 (UTC)
Goto Top
http://rsnapshot.org
Macht dir das vollkommen autonom, brauchst nur angeben wieviel von welchen Backups behalten werden sollen der Rest geht wie von selbst per cron ...

Gruß
Member: Arano
Arano May 18, 2017 at 10:24:30 (UTC)
Goto Top
Moin,

Chronologisch ist es ja
  • Incementelle Backups
  • Fullbackup A
  • alte Incerementelle Backups ?
  • Fullbackup B

Löche die älteste Datei ! rm ll -at | head -n1 (o.ä.)
Als Cronjob 1xWöchentlich, an Datum X oder Interval.
Ggf kann der Conjob auch vom Backupprozess erstellen lassen /etc/cron.d/ so das er dann automatisch 5 Tage nach Backuperstellung ausgeführt wird und so das Alte löscht.

Man kann es auch so umstricken, das die aktuellsten 7 Dateien behalten werden (1full+6incr) for f in `ls -rt | head -n-7 do rm f (o.ä.) und ALLES andere gelöscht wird. (oder 14 um sicher zu gehen).

Oder mit find alles suchen und löschen das älter as X Tage ist find /path/to/backups -mtime -X -exec rm \{\}; (o.ä.)


~Arano