Momentan mache ich nächtliche und wöchentliche Schnappschüsse von meinem ZFS-basierten NAS, ein Vorgang, der mir ein paar Mal den Arsch gerettet hat. Während die Erstellung des Snapshots automatisch (von Cron) erfolgt, ist das Löschen alter Snapshots immer noch eine manuelle Aufgabe. Offensichtlich besteht die Gefahr, dass dem NAS der Speicherplatz ausgeht, wenn ich von einem Bus angefahren werde oder die manuelle Aufgabe nicht ausgeführt wird.
Hat jemand eine gute Möglichkeit / ein gutes Skript, um die Anzahl der auf seinen ZFS-Systemen gespeicherten Snapshots zu verwalten? Idealerweise hätte ich gerne ein Skript, das alle Snapshots für ein bestimmtes ZFS-Dateisystem durchläuft und alle Snapshots mit Ausnahme der letzten n für dieses Dateisystem löscht .
ZB habe ich zwei Dateisysteme, eines genannt tank
und eines genannt sastank
. Snapshots werden mit dem Erstellungsdatum benannt. sastank@AutoD-2011-12-13
Ein einfacher sort
Befehl sollte sie in der angegebenen Reihenfolge auflisten. Ich versuche, die täglichen Schnappschüsse tank
der letzten zwei Wochen beizubehalten , aber nur die Schnappschüsse der letzten zwei Tage sastank
.
sort -r
vor demsed
Befehl.sed
scheint das Ende der Liste nach den ersten 15 Zeilen auszugeben, die in der Standard-Sortierung die aktuellste ist. Durch Umblättern der Liste erhalte ich die ältesten Schnappschüsse unten.