¿Existe una manera más rápida de copiar archivos de la máquina del tiempo de un disco a otro?

12

Estoy tratando de mover los archivos de copia de seguridad de mi máquina del tiempo en Backups.backupdb a otra unidad. Inicié una copia de archivo durante la noche (b / c vi que OSX tardaba en prepararse para la copia ... básicamente contaba los archivos por horas) En la mañana, vi que solo algunas copias de seguridad (carpetas con fechas) se habían copiado. Luego traté de copiar los que no se copiaron ... pero el sistema operativo no me permitió hacerlo. Recibí el error de que "la operación no se puede completar porque los elementos de la copia de seguridad no se pueden modificar". Por lo tanto, mi plan es eliminar la copia incompleta en la nueva unidad y luego intentar copiar de nuevo en la carpeta Backups.backupdb.

Bastante frustrante. ¿Existe una forma más rápida de copiar estos archivos a través de un comando de terminal para que no realice toda esa preparación de conteo de archivos?

Probablemente pueda cargar toda la carpeta y luego hacer una copia, pero ¿eso interferirá con cualquiera de los permisos de archivo, etc.? Lo único con este enfoque es que no tengo más espacio en mi volumen de origen para el tar.

ACTUALIZAR

He intentado algunos de los métodos que la gente ha sugerido a continuación, específicamente utilizando la función de restauración de la Utilidad de Discos y me está dando algunos mensajes de error y resultados inesperados (al menos para mí). He intentado hacer la restauración de dos maneras:

  • Con "Borrar destino" marcado: Cada vez (lo he intentado dos veces), cuando finaliza la restauración, aparece el mensaje "No se pudo restaurar - Operación no válida" y "No se pudo restaurar - Argumento no válido". Sin embargo, mi disco de destino obtiene una copia de mis archivos TM. Lo extraño es que mi disco de destino es EXACTAMENTE como mi disco de origen ... incluso el tamaño. Mi disco de destino es en realidad 1 TB, pero después de la restauración, aparece como 200 GB cuando obtengo información del buscador. ¡Pero en Disk Utility, muestra una partición de 1 TB!

Luego intenté verificar / reparar el disco y obtuve:

    Invalid B-tree node size
    Checking Journaled HFS Plus volume.
    Invalid B-tree node size
    Volume repair complete.
    Updating boot support partitions for the volume as required.
    Error: Disk Utility can’t repair this disk. Back up as many of your files as possible, reformat the disk, and restore your backed-up files.

No sé si se supone que debo verificar / reparar un disco TM ...

  • Con "Borrar destino" sin marcar: La restauración nunca comienza y obtengo:
    Could not restore - Operation not permitted
    
pregunta milesmeow 31.12.2011 - 20:37

7 respuestas

6

Una copia normal (o copia a través de rsync o ídem) no replicará completamente una Máquina del Tiempo, ya que convertirá dos directorios vinculados entre sí (como ocurre en copias de seguridad de TM sin cambios) en dos directorios separados.

La mejor manera es copiar todo el disco utilizando la Utilidad de Disco o la parte de la copia en bloque de Carbon Copy Cloner y probablemente similar en SuperDuper .

    
respondido por el Mark 01.01.2012 - 12:09
5

¿Por qué no solo usar terminal?

cp -RnpP Backups.backupdb
  • -R recursivo
  • -n no sobrescribe (si quedan remanentes de copia existentes del intento anterior)
  • -p conserva las ACL, los permisos, las fechas de creación / modificación, etc.
  • -P preserva los enlaces duros, no siga ningún enlace simbólico o duro.
respondido por el Chase Holden 23.03.2014 - 23:01
2

Al migrar una unidad cifrada completa de Time Machine de 3TB a una nueva de 8TB en macOS 10.14, me encontré con todo tipo de problemas. Intentando realizar una restauración en la Utilidad de Disco con error "no se puede validar la fuente" o "Operación no permitida". Al intentar algunas otras sugerencias en esta publicación y en otras, pude obtener nuevos mensajes de error como "Archivo de catálogo en la imagen / el volumen está demasiado fragmentado ", pero no hay copia.

Lo que funcionó al final, en la terminal:

  1. Borre el nuevo disco con la Utilidad de Discos, que coincida con el formato de la unidad de origen: MacOS Extended (Journaled, Encrypted)
  2. Use diskutil cs list en el terminal para obtener el tamaño de byte exacto del volumen lógico en la unidad antigua y el GUID del nuevo volumen lógico, así como los números de disco para ambos, por ejemplo, disk4 .
  3. Use el tamaño de byte exacto de step2 como el tamaño del nuevo volumen. En mi caso con una unidad de disco de 3TB fue 2,999,772,905,472 bytes:

    sudo diskutil cs resizeVolume $new_lv_guid 2999772905472
    
  4. Usando el comando pv de homebrew, haz una copia de bloque de bajo nivel de los discos. Esto es muy parecido a usar dd , excepto que obtiene un medidor de progreso con ETA.

    Necesitas obtener los números de disco de la salida diskutil cs list . Ten cuidado. Es muy fácil sobrescribir accidentalmente la unidad de copia de seguridad completa con la nueva en blanco aquí.

    sudo sh -c "$(which pv) --buffer-size 50M -s 2999772905472 < /dev/rdisk${source} > /dev/rdisk${target}"
    

    Si obtiene un permiso denegado / error de operación no permitida aquí, vaya a Seguridad & Preferencias de privacidad y agregar acceso a disco completo para Terminal.app.

    Para mí, esto tomó aproximadamente 10 horas, lo dejé funcionar durante la noche, pero con pv , al menos obtienes un medidor de progreso con una ETA.

  5. Ahora, expanda el volumen para ocupar todo el espacio restante en la unidad:

    sudo diskutil cs resizeVolume $new_lv_guid 0
    

    Esto me llevó aproximadamente 3 horas, con aproximadamente 5 años de copias de seguridad. La mayor parte de ese tiempo lo gastó macOS fsck ing.

Ahora puede disfrutar de su nuevo y más espacioso disco de Time Machine. Puede reutilizar el antiguo o guardarlo en un lugar seguro en caso de que algo le suceda a la nueva unidad.

Los pasos de cambio de tamaño parecen ser importantes; omitirlos resultó en una copia de archivo de 10 horas que produjo un volumen de 8 TB que contenía un sistema de archivos de 3 TB que no pude averiguar cómo cambiar el tamaño.

    
respondido por el andrew 27.11.2018 - 12:33
0

Esta respuesta no lo hará más rápido, pero he descubierto que es una forma de copiar los datos correctamente y preservar la deduplicación (enlaces físicos) y los permisos. Como un bono adicional, lo uso para hacer un archivo comprimido del producto final para archivar.

  1. Usando Utilidades de disco, cree una imagen de disco que sea más grande que su directorio Backups.backupdb. También le sugiero que utilice una imagen de disco de paquete disperso para Formato de imagen y Disco duro para Particiones. Una vez que se haya montado esta imagen, obtenga información sobre ella y deseleccione Ignorar la propiedad en este volumen.

  2. Ahora apague Time Machine y, con el buscador, copie la carpeta Backups.backupdb en la imagen montada. El buscador le pedirá permisos de superusuario para copiar los datos. Tomar una copa o hacer algo más por un tiempo.

  3. Cuando finalice la copia, verifique que todo esté bien y desmonte la imagen. En la Utilidad de Discos, seleccione Convertir y convierta la imagen del paquete disperso en una imagen comprimida. Una vez más, esto puede tomar un tiempo.

Debería terminar con dos copias de su copia de seguridad de Time Machine, puede eliminar la versión del paquete disperso y colocar el dmg en un lugar seguro como un archivo a tiempo.

Una cosa que no he intentado con esto es hacer una restauración del sistema desde el dmg, pero sospecho que debería funcionar, mi objetivo era más archivar los cambios incrementales de la máquina del tiempo y mantener la estructura del enlace duro.

También probé rsync y cp, pero no parecían mantener la estructura del enlace duro que terminaría haciendo x veces el tamaño, siendo x la cantidad de fechas que tenías en el pasado. Este método funcionó bien, pero nuevamente no puede obtener la velocidad de una solución de copia en bloque.

    
respondido por el hanz 14.07.2014 - 16:37
0

Apple tiene un tutorial oficial para esto .

    
respondido por el David Andreoletti 12.12.2014 - 13:59
-1

rsync es una gran utilidad para cosas como esta. Generalmente lo uso para cosas como esta. En este caso podría usar las banderas -aP. Creo que parte de -a ("archivo") también es preservar permisos, ACL y similares, pero no estoy seguro.

IIRC, también hay una opción --delete que le permite eliminar el archivo de origen una vez que se haya copiado con éxito al destino. Sin embargo, desconfiaría de usar eso; por lo general, hago un espejo completo sin la opción --delete, luego vuelvo a ejecutar el comando con las opciones -c y --delete. -c es la suma de comprobación, por lo que comprueba todos los archivos que ha descargado en comparación con los de la fuente mediante la suma de comprobación, luego elimina la fuente si hay una coincidencia; de lo contrario, vuelve a copiar o reanuda la copia, según sea el caso.

    
respondido por el Harv 01.01.2012 - 19:12
-1

Con los discos duros, cuando mueve varios archivos de una unidad, el lector se mueve hacia adelante y hacia atrás haciendo un ruido de clic, y disminuye la velocidad de transferencia significativamente, por ejemplo, un archivo con usb 2.0 se mueve a 30 mbps en mi Computadora desde 2 discos duros externos, pero 2 archivos se mueven a 11 Mbps. y 3 archivos se mueven a 6 mbps. etc. Los archivos zip se moverán más rápido que los archivos.

    
respondido por el Jake Thomas 18.07.2013 - 22:50

Lea otras preguntas en las etiquetas