"I have discovered the hard way that Apple's "Migration Assistant" doesn't always preserve file timestamps"
comentario : Parece que se ha convertido en la MO - debes descubrir todas las cosas por las malas.
Advertencias: No estoy totalmente seguro de que esto resuelva tu problema o responda a tu pregunta, pero espero que te sirva de ayuda. En realidad no sé lo que hace el Asistente de Migración porque en 12 años y 5 Macs diferentes, nunca lo he utilizado. Así que esta respuesta puede ser una respuesta parcial, o puede ser incompatible con el Asistente de Migración. Como adivina Yo diría que use rsync
después de Asistente de Migración - para limpiar el desastre que ha dejado. En otras palabras, rsync
probablemente restaurar no sólo las marcas de tiempo perdidas por MA
También puede restaurar todos los metadatos de los archivos que se hayan perdido. Otros aquí pueden tener mejores ideas; mi respuesta se limitará a rsync
.
Utilicé rsync
versión 3.2.4 para esta respuesta, instalada desde MacPorts . No sé si el rsync
incluida con su versión de MacOS incluye las opciones necesarias que se muestran aquí - es posible que desee investigar que en lugar de instalar una versión actual de rsync
.
Antecedentes: He empezado a utilizar rsync
como mi principal herramienta de copia de seguridad para MacOS, y tuve que resolver algunos de los mismos problemas que usted: mangled y desaparecidos metadatos . En mi caso, el problema se produjo al cruzar un límite del sistema de archivos: de APFS
en mi unidad local a btrfs
a través de SMB en un Synology NAS. En tu caso, el Asistente de Migración, no puedo ni imaginarme cómo es posible que ni siquiera consiga que los metadatos de fecha y hora sean correctos, pero desde luego no eres el único que ha informado de este tipo de problemas.
Tomé algunas notas mientras trabajaba para resolver mi problema, y se transformaron en un "receta" en mi MacOS Repo de GitHub . Intentaré que esta respuesta sea breve, ya que la mayoría de los detalles se tratan en ese documento.
rsync con conservación de metadatos
rsync
copia efectivamente los datos de un fuente (el "de" ubicación) a un destino (el "a" ubicación). Si estás usando un servidor de archivos (NAS) como intermediario entre tus dos Macs, estos comandos deberían hacer lo que necesitas. No veo ninguna necesidad de involucrar a un NAS intermedio, pero puede ser cómodo o deseable si desea una copia de seguridad. Usted debe ser capaz de lograr la rsync
a través de una conexión SSH; los siguientes comandos ilustran la sintaxis y las opciones necesarias independientemente de si se utiliza el NAS intermediario o no:
del "viejo Mac" al NAS:
Suponiendo que las carpetas de origen y destino son:
FUENTE: /Users/MyHome/MyData/
DESTINO: /System/Volumes/Data/mnt/MyNAS/
Desde un terminal en tu "viejo Mac":
% SRC-FLDR="/Users/MyHome/MyData/"
% DST-FLDR="/System/Volumes/Data/mnt/MyNAS/"
% rsync -rlAXtgoDivv --dry-run --fake-super $SRC-FLDR $DST-FLDR > rsync.log 2>&1
Explicación: Este rsync
utiliza el comando --dry-run
y, por tanto no moverá ni modificará ningún archivo . Le proporcionará un registro detallado (el ivv
opciones) de qué archivos se habrían trasladado o modificado . Una vez que esté satisfecho con los resultados, simplemente retire el --dry-run
y ejecútelo de nuevo para comprobar el efecto. Revise la rsync.log
mediante la función "Tabla de descodificación"
del NAS al "nuevo Mac":
FUENTE: /System/Volumes/Data/mnt/MyNAS/
DESTINO: /Users/MyNewMacHome/MyData/
Desde un terminal en tu "nuevo Mac":
% SRC-FLDR="/System/Volumes/Data/mnt/MyNAS/"
% DST-FLDR="/Users/MyNewMacHome/MyData/"
% rsync -rlAXtgoDivv --dry-run --fake-super $SRC-FLDR $DST-FLDR > rsync.log 2>&1
del "viejo Mac" al "nuevo Mac".
Si puedes establecer una conexión SSH entre tu "viejo Mac" y tu "nuevo Mac", no es necesario que intervenga un NAS intermedio. Lo mismo rsync
se pueden utilizar opciones; le dejaré a usted la formulación de las carpetas FUENTE y DESTINO.
Verificación de resultados:
La receta de GitHub incluye un breve zsh
script que se stat
todos los archivos, carpetas, enlaces, etc. entre las carpetas ORIGEN y DESTINO . Puede ejecutarse de la siguiente manera rsync
para verificar que al menos el stat
atributos son los mismos.
En rsync
no sólo conservarán los metadatos que contienen las marcas de fecha y hora, sino que también conservarán todos los archivos atributos ampliados . La receta de GitHub también incluye script para comparar la salida de xattr -lrsvx
para todos los archivos (que tengan xattrs
) en los directorios SOURCE y DESTINATION .
En stat
que utilizo aquí es la utilidad GNU coreutils versión 9.1 . En find
La versión que utilizo es la GNU findutils versión 4.9.0 . Ambos están disponibles en MacPorts y disponible para prácticamente todas las versiones de MacOS. El sitio xattr
es una utilidad de MacOS.