Je photographie actuellement mon NAS basé sur ZFS tous les soirs et toutes les semaines, un processus qui m'a sauvé le cul plusieurs fois. Cependant, bien que la création de l'instantané soit automatique (à partir de cron), la suppression des anciens instantanés reste une tâche manuelle. Évidemment, il y a un risque que si je suis frappé par un bus ou que la tâche manuelle ne soit pas effectuée, le NAS manquera d'espace disque.
Quelqu'un a-t-il de bons moyens / scripts pour gérer le nombre d'instantanés stockés sur ses systèmes ZFS? Idéalement, je voudrais un script qui itère à travers tous les instantanés pour un système de fichiers ZFS donné et supprime tous, sauf les n derniers instantanés pour ce système de fichiers.
Par exemple, j'ai deux systèmes de fichiers, l'un appelé tank
et l'autre appelé sastank
. Les instantanés sont nommés avec la date à laquelle ils ont été créés: sastank@AutoD-2011-12-13
une simple sort
commande doit donc les répertorier dans l'ordre. Je cherche à garder la valeur des instantanés quotidiens des 2 dernières semaines tank
, mais seulement les deux derniers jours des instantanés sastank
.
sort -r
avant lased
commande.sed
semble afficher le bas de la liste au-delà des 15 premières lignes, qui dans le tri par défaut est la plus récente. Inverser la liste signifie que j'obtiens les plus anciens instantanés en bas.