Borrar todas las instantáneas de Snapper

17

OpenSUSE (entre otras distribuciones) usa snapper para tomar instantáneas de particiones btrfs . Algunas personas piensan que los intervalos predeterminados de las instantáneas ocupan demasiado espacio demasiado rápido, pero lo creas o no, hay momentos en los que deseas limpiar el espacio en tu sistema de archivos y a menudo descubres que las instantáneas btrfs están ocupando una cantidad significativa de espacio. O, en otros casos, es posible que desee borrar el sistema de archivos de todo el exceso de datos antes de moverlo a / desde una VM o cambiar el medio de almacenamiento o algo por el estilo.

Pero parece que no puedo encontrar un comando para borrar rápidamente todas las instantáneas que ha tomado Snapper , ya sea a través de Snapper u otra herramienta. ¿Cómo haría esto?

palswim
fuente

Respuestas:

25

El comando en versiones recientes de snapper es (no recuerdo cuándo se introdujo, pero la versión en, por ejemplo, openSUSE 13.2 lo admite):

snapper delete number1-number2

Entonces, para eliminar todas las instantáneas (suponiendo que no tenga más de 100000 de ellas), debe hacer lo siguiente:

snapper delete 1-100000

Obviamente, esto solo elimina instantáneas en la configuración raíz predeterminada, por lo que para una configuración diferente sería:

snapper -c configname delete number1-number2
Quantumboredom
fuente
Ahora recibo un error: No se encontró la instantánea '100000'.
Pavel Šimerda
ty, ty, ty. Teniendo en cuenta que el operador de rango no funcionó, tuve que eliminar manualmente las 20 instantáneas.
Paul Vixie
4

Puede usar un forbucle para eliminar todas las instantáneas dentro de un rango (ejecutar como root ).

# for i in `seq 1 999`; do snapper delete $i; done

Esto afectará a algunas entradas no válidas (cuando el número no corresponde a una ID de instantánea), lo que dará como resultado un registro de errores inofensivo.

Para determinar el rango (límite inferior y superior) de ID de instantáneas, para que el ciclo no se ejecute innecesariamente por mucho tiempo, use:

snapper list

Encontré esta solución junto con una discusión sobre cómo reducir el intervalo de ajuste y la configuración de retención .

palswim
fuente
-1

Si está trabajando en una versión anterior de snapper como en Debian jessie, puede usar bash-expansion:

snapper delete {1..999}
blaimi
fuente