0 votos

tmutil no crea una instantánea real (¿desde Catalina?)

Estoy usando rsync sobre un mount_apfs snapshots Para hacer una copia de seguridad de una vista del sistema de archivos consistente y sin tener que detener las aplicaciones durante la copia de seguridad.

Después de investigar el error de rsync 'el archivo ha desaparecido', he descubierto que tmutil no crea instantáneas reales:

15:50:34 [admin@MAC10143-ROTH ~]$ tmutil snapshot /
Created local snapshot with date: 2020-12-21-155054
15:52:08 [admin@MAC10143-ROTH ~]$ sudo mount_apfs -o rdonly -s "com.apple.TimeMachine.2020-12-21-155054.local" / /tmp/snap
Password:
15:52:30 [admin@MAC10143-ROTH ~]$ cat /etc/profile
# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
fi
...
15:53:20 [admin@MAC10143-ROTH ~]$ vi /etc/profile

  <File is changed>

15:58:42 [admin@MAC10143-ROTH ~]$ cat /tmp/snap/etc/profile
# System-wide .profile for sh(1)
#             <====
# TEST CHANGE <====
if [ -x /usr/libexec/path_helper ]; then
...

Como puede ver, todos los cambios se reflejan en la instantánea montada. También he probado las adiciones y eliminaciones de archivos.

Creo que el problema es que Catalina ha empezado a dividir todo el sistema de archivos en un volumen de sistema de sólo lectura más un volumen de datos (¿y quizás algo más?):

16:07:33 [admin@MAC10143-ROTH ~]$ df -h
Filesystem                                                   Size   Used  Avail Capacity iused      ifree %iused  Mounted on
/dev/disk1s6                                                466Gi   11Gi  176Gi     6%  488281 4881964599    0%   /
devfs                                                       197Ki  197Ki    0Bi   100%     682          0  100%   /dev
/dev/disk1s5                                                466Gi  276Gi  176Gi    62% 2492125 4879960755    0%   /System/Volumes/Data
/dev/disk1s4                                                466Gi  2.0Gi  176Gi     2%       2 4882452878    0%   /private/var/vm
/dev/disk1s1                                                466Gi  804Ki  176Gi     1%      88 4882452792    0%   /Volumes/Macintosh HD - Data
map auto_home                                                 0Bi    0Bi    0Bi   100%       0          0  100%   /System/Volumes/Data/home
map -fstab                                                    0Bi    0Bi    0Bi   100%       0          0  100%   /System/Volumes/Data/Network/Servers
/dev/disk3s1                                                 25Gi   com.apple.TimeMachine.2020-12-21-155054.local@/dev/disk1s6  466Gi   11Gi  176Gi     6%  488281 4881964599    0%   /private/tmp/snap
16:07:35 [admin@MAC10143-ROTH ~]$

Podría intentar montar los sistemas de archivos más específicos, pero el problema es que quiero que todo el / sea visible para rsync, para realizar una copia de seguridad del sistema. ¿Hay alguna manera?

2voto

dallen Puntos 2393

Voy a dar mi respuesta, aunque sea parcial.

Cuando se utiliza tmutils con particiones como / Aunque el resultado no es una verdadera instantánea, el sistema de archivos que monto de esta manera refleja el original en tiempo real (es decir, cualquier cambio en el original es inmediatamente visible en la "instantánea").

Para que funcione, tengo que montar las particiones así:

vol_path=/System/Volumes/Data
snap_id=$(tmutil snapshot "$vol_path" | sed s/'Created local snapshot with date: '//)
mount_apfs -o rdonly -s "com.apple.TimeMachine.${snap_id}.local" "$vol_path" snap-mnt

Esto funciona bien cuando se quiere hacer una copia de seguridad de un subdirectorio como /System/Volumes/Data/Users/user/ .

La otra cara de la moneda es que directorios como /etc no están bajo Data/ pero /etc/ es en realidad un enlace a Data/private/ Así que no se pierde mucho haciendo una copia de seguridad sólo de los datos/dirección.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X