Usar tmutil restore
Como fanático de Unix desde hace mucho tiempo, me encanta rsync
. Sin embargo, el uso del nativo rsync
para este propósito, incluso en macOS Ventura 13.2, tiene algunas desventajas:
- Como se sugiere en un comentario de huyz,
rsync
no es consciente de macOS. He descubierto que no copiará ninguno de los atributos extendidos de los archivos que use para restaurar.
rsync
no es un programa de utilidad de Time Machine que esté diseñado para Time Machine y parece improbable que reciba soporte específico de Apple para el propósito de restaurar archivos de Time Machine.
Alternativamente, usa tmutil
.
tmutil
es la utilidad de línea de comandos de Time Machine provista por Apple que admite la acción de restore
(desde al menos macOS 10.15):
tmutil restore src ... dst
La página manual de tmutil
para la acción de restauración dice lo siguiente:
restore [-v] src ... dst
Restaura el ítem src, que está dentro de una copia de seguridad, en la ubicación dst. El argumento dst imita la semántica de la ruta de destino de la herramienta cp. Puedes proporcionar múltiples rutas de origen para restaurar. La última ruta debe ser un destino.
Cuando se utiliza el verbo restore, tmutil se comporta en gran medida como Finder. Los metadatos personalizados de Time Machine (seguridad extendida y otros) se eliminarán de los datos restaurados, y otros metadatos se conservarán.
Puede ser necesario tener privilegios de acceso de root y acceso completo al disco para realizar restauraciones. Al restaurar con tmutil como usuario root, la propiedad de los elementos restaurados coincidirá con el estado de los elementos en la copia de seguridad.
Este es un ejemplo de cómo se ve esto. Esto es para restaurar el contenido de la carpeta Downloads
de mi otro Mac (Otro Sistema
). Y mi consola está en la carpeta de esa copia de seguridad de la cual quería restaurar:
Downloads $ tmutil restore * ~/Downloads
Total copiado: 2273.96 MB (2384424593 bytes)
Elementos copiados: 76143
Downloads $ pwd
/Volumes/My Disk 1/Backups.backupdb/Other System/Latest/Macintosh HD - Data/Users/louis/Downloads
Downloads $ ls -l@ manual.docx
-rw-r--r--@ 99 louis staff 381577 Dec 5 2015 manual.docx
com.apple.finder.copy.source.checksum#N 4
com.apple.metadata:_kTimeMachineNewestSnapshot 50
com.apple.metadata:_kTimeMachineOldestSnapshot 50
com.apple.metadata:kMDItemDownloadedDate 53
com.apple.metadata:kMDItemWhereFroms 218
com.apple.quarantine 57
Downloads $ ls -l@ ~/Downloads/manual.docx
-rw-r--r--@ 1 louis staff 381577 Dec 5 2015 /Users/louis/Downloads/manual.docx
com.apple.metadata:kMDItemDownloadedDate 53
com.apple.metadata:kMDItemWhereFroms 218
com.apple.quarantine 57
Downloads $ tmutil compare manual.docx ~/Downloads/manual.docx
-------------------------------------
Añadido: 0B
Eliminado: 0B
Modificado: 0B
Downloads $
Los argumentos de la línea de comandos src ... y dst en este sentido son como los que usaría para rsync
o cp
. La diferencia radica en que al usar tmutil restore
, todos los metadatos de los archivos parecen conservarse con la excepción de los "metadatos de Time Machine", que supongo que son metadatos asociados con los archivos de la carpeta de copia de seguridad pero no con los archivos originales ni restaurados. Por lo tanto, los archivos restaurados y sus metadatos parecen ser exactamente lo que eran en la computadora original desde la que se respaldaron.