Komplexe Aufbewahrungsrichtlinie

Komplexe Aufbewahrungsrichtlinie

Ich habe tägliche Datenbanksicherungen für mehrere Datenbanken per scp in ein Verzeichnis auf einem lokalen Linux-Rechner gespeichert. Das Namensformat ist [dbname].backup; es gibt keinen Zeitstempel und derzeit überschreibt die neueste Sicherung die vorherige.

Das Management möchte alte Versionen der Dateien mit einem angehängten Datumsstempel aufbewahren und die folgende Aufbewahrungsrichtlinie anwenden:

  • Alle Dateien werden 7 Tage lang aufbewahrt
  • Das erste Backup des Monats für jede Datenbank wird 12 Monate lang aufbewahrt
  • Das erste Backup für jedes Jahr wird auf unbestimmte Zeit aufbewahrt

Ich zerbreche mir den Kopf darüber, wie ich dieses Skript schreiben soll, und hoffe, dass schon jemand anders so etwas geschrieben hat oder dass es vielleicht ein mir unbekanntes Tool gibt, das so etwas bewältigen kann.

Kennt jemand ein solches Skript oder Tool?

Antwort1

In meiner Firma machen wir das häufig.

Das Wichtigste, was Sie wahrscheinlich verwenden werden, ist „find“ (man find). Zum Beispiel:

finde /home -type f -ctime +14 -exec rm -f {} \;

löscht alle Dateien ab /home, die vor mehr als 14 Tagen erstellt wurden. Sie können weitere Optionen für „find“ angeben, um gezielt nach den gewünschten Dateien zu suchen.

Sagen Sie mir Bescheid, wenn Sie weitere Informationen oder Hilfe bei der Verwendung von „find“ benötigen. Es wird alles tun, was Sie brauchen.

verwandte Informationen