OpenSUSE (entre autres distributions) utilise Snapper pour prendre des instantanés de BTRFS partitions. Certaines personnes pensent que les intervalles d'instantanés par défaut prennent trop de place trop rapidement, mais que vous croyez que vous croyez ou non que vous souhaitez effacer l'espace sur votre système de fichiers et trouvez souvent que le Btrfs Les instantanés prennent une quantité importante d'espace. Ou, dans d'autres cas, vous voudrez peut-être effacer le système de fichiers de toutes les données excédentaires avant de la déplacer vers/à partir d'un VM ou de modifier le support de stockage ou quelque chose selon ces lignes.
Mais, je ne peux pas sembler trouver une commande pour essuyer rapidement tous les instantanés Snaper a pris, via Snapper ou un autre outil. Comment ferais-je cela?
La commande dans des versions récentes de Snapper est (je ne me souviens pas quand elle a été introduite, mais la version d'E.G., OpenSUSE 13.2 le soutient):
snapper delete number1-number2
Afin de supprimer tous les instantanés (en supposant que vous n'ayez pas plus de 100 000 d'entre eux), vous feriez:
snapper delete 1-100000
Évidemment, cela ne supprime que des instantanés sur la configuration racine par défaut, donc pour une configuration différente, ce serait:
snapper -c configname delete number1-number2
Vous pouvez utiliser une boucle for
pour supprimer tous les instantanés dans une plage (exécuter sous la racine ).
# for i in `seq 1 999`; do snapper delete $i; done
Cela frappera certaines entrées non valides (lorsque le numéro ne correspond pas à un ID d'instantané), ce qui entraînera un journal d'erreur sans danger.
Pour déterminer la plage (limite inférieure et supérieure) des identifiants d'instantané, de sorte que la boucle ne fonctionne pas inutilement longtemps, utilisez:
snapper list
J'ai trouvé cette solution avec une Discussion sur la manière de réduire les paramètres d'intervalle d'attaque et de conservation .