4 votos

Cómo confirmar que un archivo se ha copiado en un disco nuevo sin errores?

Me gustaría copiar archivos desde una unidad externa a una red conectada la unidad. Quiero para asegurarse de que no hay errores.

Yo sé de un hash MD5 de los archivos que tengo que ver para grandes archivos que se descargan de internet. También sé que puedo usar el terminal para 'diff' los dos conjuntos de archivos.

Sin embargo, estoy en busca de una pieza de software que podría confirmar que todos los archivos en la estructura de los archivos han sido copiados por el buscador completamente, o una pieza de software que haría la copia para mí y para confirmar que todos los bits son exactamente los mismos.

Los archivos están relacionados con el vídeo - y son a menudo más de un TB de tamaño (no en un archivo - complejo multi-carpeta de archivos anidados)

Estoy bien si hay un comando de terminal que puede hacer la copia y comparar para mí también. (a pesar de ser capaz de ver la cantidad de tiempo que queda en una copia es una característica muy agradable... además, quiero asegurarme de que puedo obtener TODOS los recursos de archivo horquillas y todo)

8voto

shsteimer Puntos 8749

o una pieza de software que haría la copia para mí y para confirmar que todos los bits son exactamente los mismos.

Esto es lo que rsync . Se puede copiar un archivo, árboles enteros de archivos, cualquier cosa realmente. Y lo hace con un algoritmo confiable. Al final de un rsync puede estar seguro de que el disipador obtuvo exactamente lo que usted envía desde el origen.

Hay un GUI para rsync llamado arRsync que puede hacer el trabajo con un poco más amigable, aunque no funciona para rsync sobre ssh llamadas.

La otra ventaja de rsync es que puede hacer curriculum vitae-en-interrupción de la copia. Especialmente bueno si usted está copiando un montón de archivos o incluso archivos de gran tamaño a través de las redes que son menos fiables.

Si va a copiar una unidad local y una red que se encuentran disponibles para la misma Mac que usted puede hacer:

rsync -avz /Volumes/LocallyAttachedDrive/path/to/big-movie.mov /Volumes/RemoteShare/path/

Y ya está todo hecho.

Si se trata de un directorio (el que haces como .app ) se puede hacer un completo, copia recursiva con:

rsync -avz /Volumes/LocallyAttachedDrive/path/to/my-bundle.app /Volumes/RemoteShare/path/

Si usted no tiene Finder/Bonjour-nivel de acceso a la pileta que usted puede hacer rsync sobre ssh:

rsync -avz /Volumes/LocallyAttachedDrive/path/to/my-bundle.app remoteuser@remotehost:/Volumes/RemoteShare/path/

La clave compartida se puede generar de manera que usted no tenga que introducir una contraseña si lo desea.

Editar: puede utilizar rsync para comprobar si dos árboles de la misma con el --dry-run/-n opción. Si tengo el árbol de código fuente /Volumes/dir y la he copiado en /Volumes/ConnectedDrive/dir puedo comparar con:

rsync -acvn /Volumes/dir /Volumes/ConnectedDrive/

La salida me dirá si alguno de los archivos se deben copiar a la pileta con el fin de hacer que el disipador de la igualdad de la fuente.

Por ejemplo, si puedo sincronizar ed dos árboles:

> rsync -avz ./8779 ./a/
building file list ... done
8779/
8779/.DS_Store
8779/logs/
8779/logs/MasterLog.txt
8779/logs/StartLog.txt

sent 893980 bytes  received 98 bytes  596052.00 bytes/sec
total size is 10034671  speedup is 11.22

Comparación de los mismos para la igualdad debe producir ningún operaciones necesarias:

> rsync -acvn ./8779 ./a/
building file list ... done

sent 213 bytes  received 20 bytes  155.33 bytes/sec
total size is 10034671  speedup is 43067.26

Si el lavabo era ligeramente diferente nos gustaría ver una salida como esta:

> echo foo >> a/8779/logs/MasterLog.txt 

> rsync -acvn ./8779 ./a/              
building file list ... done
8779/logs/MasterLog.txt

sent 219 bytes  received 26 bytes  490.00 bytes/sec
total size is 10034671  speedup is 40957.84

Ahora sabemos que el MasterLog.txt archivo no es el mismo.

1voto

Adam V Puntos 2774
md5 -r file1 file2

imprimir los hashes de ambos archivos para que pueda globo ocular-comparar entre ellos. La -r de la bandera, se imprime el hash de primera (en lugar de nombre de archivo de la primera) por lo que el hash de la línea hasta el uno con el otro en el margen izquierdo - hace que sea más fácil comparar visualmente.

0voto

KidPub Puntos 106

Me pegan con MD5 si usted necesita absoluta verificación de que los archivos son los mismos. Podría escribir un pequeño script en bash buscar recursivamente los directorios y generar / comprobar el hash de cada archivo.

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