¿Qué está haciendo Time Machine?

18

A veces, OS X me dice que es "Preparando copia de seguridad ..." por una cantidad enorme de tiempo. El tiempo que lleva parece no tener correlación con la cantidad de datos a respaldar. Lo mismo para la etapa "Finalizando copia de seguridad ...".

La pregunta: ¿qué está haciendo OS X cuando está "Preparando copia de seguridad ..." y "Finalizando la copia de seguridad ..."?

Sé que está descubriendo qué hacer una copia de seguridad y luego registrando los cambios, pero seguramente el tiempo que esto tome debería ser proporcional a la cantidad de datos que cambiaron. Hay mucho espacio en el disco (así que supongo que no está eliminando copias de seguridad antiguas). Estoy usando una TimeCapsule si eso hace alguna diferencia. No pasa nada, solo tengo curiosidad.

Stephen Darlington
fuente

Respuestas:

20

Aquí hay una respuesta de otro foro (póster original desconocido para mí):

La etapa de "preparación" en Time Machine suele ser rápida, porque Time Machine utiliza un registro de las actividades del sistema de archivos para saber dónde encontrar los cambios que deben respaldarse.

Pero hay cosas que puede hacer para que ese registro no sea confiable. Cuando Time Machine descubre que el registro PODRÍA no ser válido, realiza un análisis completo de su sistema de archivos para determinar qué es lo que realmente se necesita respaldar. Esto puede tomar un tiempo. En mi Powerbook (y con un disco FireWire externo de Time Machine) puede resultar en una etapa de "preparación" que dura 20 minutos. Si deja que Time Machine continúe, eventualmente descubrirá lo que realmente debe agregarse al disco de respaldo y continuará. Esto, por supuesto, es mejor que apostar que el registro es correcto o simplemente hacer una copia de seguridad de TODO nuevamente, aunque solo algunos archivos hayan cambiado (lo que llevaría mucho más tiempo y consumiría más espacio en el disco de Time Machine).

En estos primeros días de instalación de Leopard, una de las cosas más comunes que puede hacer para que el registro no sea confiable es arrancar desde el DVD de instalación de Leopard. Cada vez que lo haga, la próxima vez que se ejecute Time Machine, descubrirá que su disco duro PODRÍA haber sido modificado sin que los cambios se reflejen en el registro. Por lo tanto, realiza el análisis completo, una larga etapa de "preparación", para asegurarse de que las cosas salgan bien.

Comandante Keen
fuente
En realidad, los registros no solo los utiliza Time Machine. Y es su Mac la que puede declarar inválidos los registros antiguos. Puede buscar en la Consola para fseventsdver "inicio de sesión de eventos / Volúmenes / ... fuera de sincronización con el volumen. Destrucción de registros antiguos". Un registro recién creado también tendrá un nuevo identificador, que ya no coincidirá con la identificación almacenada con la copia de seguridad. Esto le dice a Time Machine que compare su disco duro con la última copia de seguridad. Si se usan múltiples discos de respaldo, entonces si se fseventsdcrea un nuevo registro, Time Machine eventualmente se encontrará con un "Los UUID del almacén de eventos no coinciden" para cada disco de respaldo.
Arjan
Montar el disco en Windows usando un controlador de sistema de archivos de lectura / escritura como MacDrive también activará un escaneo completo del sistema de archivos la próxima vez que Time Machine lo respalde. (Montar el disco usando el controlador de sistema de archivos de solo lectura en Boot Camp, por otro lado, no lo hace)
Brant
10

Para complementar la respuesta del Comandante Keen, recomiendo leer una mirada en profundidad a Time Machine por Earthling Soft. Además, backupd registra más información en system.log (que indicará por qué el estado de preparación es tan largo y tal)

Chealion
fuente
1
+1 - ¡excelente artículo!
Comandante Keen
Buen artículo. ¡Ojalá pudiera marcar dos respuestas como aceptadas!
Stephen Darlington
Ars Technica tiene otro buen artículo, pero supongo que el enlace de Earthling Soft ha cubierto todo: arstechnica.com/apple/reviews/2007/10/mac-os-x-10-5.ars/14 Y para los desarrolladores que lean esto: ver un práctico en developer.apple.com/mac/articles/cocoa/filesystemevents.html
Arjan
10

Para ver fácilmente el backupdregistro, eche un vistazo al widget Time Machine Buddy . También tenga en cuenta que hay otro registro en el disco de respaldo, en el archivo oculto .Backup.logque se puede encontrar en la carpeta de cada respaldo. Esto proporciona otra información además de los backupdregistros.

Tenga en cuenta que a menudo los registros muestran cifras que no parecen coincidir:

No se necesita adelgazamiento previo a la copia de seguridad: se solicitan 821.4 MB (incluido el relleno) [..]
Copió 1630 archivos (3,8 MB) del volumen Macintosh HD.

Arriba, se copian menos archivos de los previstos. Como Time Machine confía en FSEvents, que solo informa sobre directorios modificados, supongo que en el ejemplo anterior estos directorios contenían un total de 821,4 MB en archivos. Al copiar los archivos, Time Machine compara los directorios modificados en el disco duro con la copia de seguridad y descubre que solo se cambiaron los archivos de 3,8 MB.

Para ver lo que se ha escrito en la copia de seguridad, consulte TimeTracker (GUI) o timedog (línea de comando). Tenga en cuenta que, incluso cuando se ejecuta como usuario administrador, a veces estos programas deben ejecutarse como root para ver todos los archivos. Cuando no lo haga, estas herramientas podrían, por ejemplo, no tener en cuenta las copias de seguridad de los registros y datos de MySQL, propiedad de _mysql en la rueda de grupo :

cd "/ Volúmenes / Copia de seguridad de XX / Backups.backupdb / XX / Latest"
sudo ls -l "Macintosh HD / usr / local / mysql-5.0.51a-osx10.5-x86"
[..]
drwxr-x --- @ 6 _mysql wheel 374 2 de julio 20:05 datos

En esos casos, ambas herramientas informarán (en silencio) un tamaño de copia de seguridad total menor y menos archivos que los backupdregistros en la consola. Entonces, si los números no coinciden con los registros, entonces para TimeTracker:

sudo ~ / Descargas / TimeTracker.app / Contenidos / MacOS / TimeTracker

Del mismo modo, para timedog:

cd "/ Volúmenes / Copia de seguridad de XX / Backups.backupdb / XX" 
sudo ~ / Descargas / timedog

Para encontrar fácilmente archivos de gran tamaño en el disco duro ver discos de inventario X . Este programa no tiene nada que ver con Time Machine, pero puede ayudar a investigar problemas, como cuando se pregunta por qué su copia de seguridad es mucho más pequeña que el espacio utilizado en su disco duro. Tenga en cuenta que este programa probablemente siempre informará menos espacio total en el disco en el título de su ventana que en la pantalla donde se puede seleccionar qué disco investigar (incluso cuando se ejecuta como raíz y al elegir el menú Ver, Mostrar tamaño de archivo físico). Pero si el tamaño total informado es realmente mucho más pequeño que los totales reales utilizados en su Mac, entonces puede ser útil ejecutarlo como root:

sudo "$ HOME / Descargas / Disk Inventory X.app/Contents/MacOS/Disk Inventory X"

Para eliminar archivos de la copia de seguridad (como si descubriera que Time Machine realmente estaba haciendo una copia de seguridad de algunos archivos enormes, como un archivo de registro MySQL fuera de control), Apple escribe :

¿Desea eliminar todas las instancias de un archivo o carpeta previamente respaldado? Suficientemente fácil. Inicie Time Machine, seleccione el elemento que se va a eliminar, luego elija "Eliminar de todas las copias de seguridad" en el menú de acciones en la barra de herramientas del Finder.

Ahora, si los archivos que desea eliminar solo están visibles para el usuario root, debe invocar también "Enter Time Machine" como usuario root. Y eso requiere que Finder se inicie como root primero:

sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder

Esto parece un Finder normal, pero notará la raíz junto al icono de la carpeta de inicio en la barra lateral del Finder. Ahora use Shift-Cmd-G (menú Ir, Ir a la carpeta) para acceder, por ejemplo, /usr/localy encontrar la carpeta de la que desea eliminar los archivos del disco de copia de seguridad. Luego, ingrese Time Machine (y una vez más valide que la raíz se muestra junto al icono de la carpeta de inicio) y siga las instrucciones de Apple. Cuando termine de eliminar los archivos de la copia de seguridad, presione Ctrl-C en la Terminal para detener el buscador de raíz. (También necesitaba cerrar sesión en mi Mac ya que el disco remoto no se desmontaría correctamente).

Si está usando un paquete disperso (como cuando usa una copia de seguridad en la red) , cualquier espacio liberado no se recuperará automáticamente (o: no hasta que se necesite el espacio). Para cumplir esto, vea Cómo recuperar todo / la mayor parte del espacio libre de una sparsebundle en OS X . Esto no solo se aplica a los archivos que eliminó manualmente, sino también a los archivos eliminados por Time Machine para copias de seguridad vencidas por hora o por día, durante el adelgazamiento posterior a la copia de seguridad .

Time Machine realmente compactará el paquete disperso, cuando se agote el espacio en disco. Pero parece que primero podría eliminar algunas copias de seguridad antiguas durante el adelgazamiento previo a la copia de seguridad , por lo que tal vez sea aconsejable compactar manualmente si alguna vez eliminó algunos archivos grandes, o si las copias de seguridad caducadas podrían haber incluido archivos grandes:

Inicio del adelgazamiento previo a la copia de seguridad: 53.57 GB solicitados (incluido el relleno), 
    9.90 GB disponibles 
No existen copias de seguridad caducadas, eliminando las copias de seguridad más antiguas para hacer espacio 
Copia de seguridad eliminada / Volúmenes / Copia de seguridad de XX / Backups.backupdb / XX / 2007-12-20-172543:
    9.90 GB ahora disponible 
Copia de seguridad eliminada / Volúmenes / Copia de seguridad de XX / Backups.backupdb / XX / 2007-12-31-005523:
    9.90 GB ahora disponible 
2 copias de seguridad eliminadas: la copia de seguridad más antigua es ahora 8 de enero de 2008 
Deteniendo la copia de seguridad. 
Copia de seguridad cancelada. 
Imagen de disco de Time Machine expulsada. 
Compactando la imagen de disco de respaldo para recuperar espacio libre 
Copia de seguridad de la imagen de disco de compactación completada 
Iniciar copia de seguridad estándar
[..]
Inicio del adelgazamiento previo a la copia de seguridad: 53.57 GB solicitados (incluido el relleno), 
    12,75 GB disponibles

Muchas gracias a Adam Cohen-Rose por probar lo anterior; ¡mira su blog para más detalles!

Arjan
fuente
Algunos programas pueden excluirse de la copia de seguridad de Time Machine al establecer el atributo extendido com.apple.metadata:com_apple_backup_excludeItemen sus archivos. Al igual que las versiones anteriores a 1.1.2 de VMware Fusion: blogs.vmware.com/teamfusion/2008/04/vmware-fusion-1.html Consulte también 10.5: muestre los archivos que Time Machine no respalda en macosxhints.com/article. php? story = 20080328025026826 que incluye un enlace a las exclusiones de Time Machine en shiftedbits.org/2007/10/31/time-machine-exclusions
Arjan
Visite superuser.com/questions/35152/… para obtener más detalles sobre cómo ejecutar Time Machine como root en Snow Leopard.
Arjan
1

Cuando está atascado en "Preparación" (ThinningPreBackup)

root# tmutil status
Backup session status:
{
    BackupPhase = ThinningPreBackup;
    ClientID = "com.apple.backupd";
    DateOfStateChange = "2018-10-20 12:02:54 +0000";
    DestinationID = "XXXXXX0A-1XB7-4X3B-A791-6XXXXX4325D89B";
    DestinationMountPoint = "/Volumes/TimeMachineXXX";
    Percent = "-1";
    Running = 1;
    Stopping = 0;
}

Use lsof para ver a qué archivos tienen acceso las copias de seguridad; el último archivo debería estar cambiando:

root# ps -ef | grep backupd
    0    91     1   0  9:39pm ??         0:00.15 /System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper -launchd
    0   552     1   0  9:59pm ??         0:49.54 /System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd
    0  1244  1156   0 10:30pm ttys003    0:00.01 grep backupd
root# lsof -p 552
COMMAND PID USER   FD   TYPE DEVICE   SIZE/OFF     NODE NAME
backupd 552 root  cwd    DIR    1,4       1292        2 /
backupd 552 root  txt    REG    1,4     769168 67640888 /System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd
backupd 552 root  txt    REG    1,4   26771408 67698052 /usr/share/icu/icudt59l.dat
backupd 552 root  txt    REG    1,4     236208 67730774 /private/var/db/timezone/tz/2018e.1.0/icutz/icutz44l.dat
backupd 552 root  txt    REG    1,4     841456 67695858 /usr/lib/dyld
backupd 552 root  txt    REG    1,4 1174183936 69140457 /private/var/db/dyld/dyld_shared_cache_x86_64
backupd 552 root    0r   CHR    3,2        0t0      306 /dev/null
backupd 552 root    1u   CHR    3,2        0t0      306 /dev/null
backupd 552 root    2u   CHR    3,2        0t0      306 /dev/null
backupd 552 root    3w   REG    1,9        686  5515544 /Volumes/TimeMachine2/Backups.backupdb/XXXXXXXXXX/2018-10-20-220254.inProgress/.Backup.561729775.162983.log
backupd 552 root    4r   DIR    1,4        136 68977542 /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreLocation.framework/English.lproj

Esto indica que está haciendo algo, y ser paciente ...

PaulS
fuente