Si bien las diferentes instantáneas montadas funcionarían, parece que podría ser terriblemente lento en muchos casos.
¿Existe una funcionalidad específica de btrfs para diferentes instantáneas? (No pude encontrar ninguno en los documentos)
filesystems
diff
btrfs
Catskul
fuente
fuente
A
contienea
, escribab
su instantánea y luego vuelva a cambiarlaa
, el archivo realmente no cambió en absoluto.Respuestas:
Parece que está buscando btrfs enviar / recibir , que aparecerá en Linux 3.6. El
send
comando crea un archivo de registro de las diferencias entre dos instantáneas, y elreceive
comando aplica los cambios desde un archivo. Tenga en cuenta que enviar / recibir utiliza un formato de archivo personalizado, por lo que el archivo no se verá exactamente como, por ejemplo, diff o tar.fuente
Estoy ejecutando Debian estable que no tiene
btrfs send
, así que busqué una solución usandobtrfs subvolume find-new
.Si tiene snapshot1 y snapshot2 y desea saber qué cambió en la posterior, snapshot 2, ya que se hizo snapshot1, puede usar el script que se encuentra a continuación, que proporciona
que enumerará todos los archivos modificados en newsnapshot / since oldsnapshot /.
Para explicar:
btrfs subvolume find-new
encuentra los archivos cambiados después de una 'generación' particular de instantánea. También informa el número de generación actual.Advertencias
Por ejemplo, tome la instantánea diaria de un caso de subvolumen:
¿Qué cambió entre snap1 y snap2?
Entonces podemos ver el nuevo archivo, ver el archivo modificado, pero la eliminación no se informa . Esto se debe a que el comando informa sobre los archivos que existen, no sobre los que ahora no.
¿Qué cambió entre snap2 y el subvolumen en vivo?
el archivo renombrado no se informa . Sus datos no han cambiado.
¿Y si agregamos datos al archivo renombrado?
OK, tiene sentido. Pero hagamos un nuevo archivo
eh! donde esta lala . Si agrega otro archivo,
lala
aparece. Entonces este comportamiento es un poco extraño. Probablemente por eso la wiki dice:Sin embargo, la rareza se produce cuando compara un subvolumen en vivo con un estado anterior, no cuando compara instantáneas (solo lectura). Por lo tanto, esto podría ser útil a menos que también desee identificar los archivos eliminados.
fuente
Esto es compatible con la herramienta de conveniencia de instantáneas
snapper
.sudo snapper -c config diff 445..446
Por supuesto, esto requiere que esté utilizando
snapper
para sus instantáneas.Los identificadores de esta instantánea se pueden encontrar usando
snapper list -a
. Desafortunadamente, al momento de escribir, Snapper no admitía instantáneas de lista para una sola configuración, aunque estos números se pueden encontrar a partir de nombres de subvolúmenes.fuente