o una pieza de software que haría la copia por mí y confirma que todos los bits son exactamente iguales.
Esto es lo que rsync hace. Puede copiar un archivo, árboles enteros de archivos, casi cualquier cosa realmente. Y lo hace con un algoritmo fiable. Al final de un rsync, puede estar seguro de que el receptor recibió exactamente lo que envió desde la fuente.
Hay una GUI para rsync llamada arRsync que puede hacer que trabajar con ella sea un poco más amigable, aunque no funciona para rsync- llamadas over-ssh.
La otra ventaja de rsync es que puede hacer copias de reanudar en caso de interrupción. Particularmente agradable si estás copiando muchos archivos o incluso archivos grandes en redes que son poco confiables.
Si está copiando un disco local y una red que están disponibles para la misma Mac que puede hacer:
rsync -avz /Volumes/LocallyAttachedDrive/path/to/big-movie.mov /Volumes/RemoteShare/path/
Y ya has terminado.
Si es un directorio (que son paquetes como .app
) puedes hacer una copia recursiva completa con:
rsync -avz /Volumes/LocallyAttachedDrive/path/to/my-bundle.app /Volumes/RemoteShare/path/
Si no tiene acceso de nivel Finder / Bonjour al receptor, puede hacer rsync-over-ssh:
rsync -avz /Volumes/LocallyAttachedDrive/path/to/my-bundle.app remoteuser@remotehost:/Volumes/RemoteShare/path/
Se puede generar una clave compartida para que no tenga que ingresar una contraseña si lo desea.
Editar: puedes usar rsync
para verificar si dos árboles son iguales con la opción --dry-run/-n
. Si tengo el árbol de origen /Volumes/dir
y lo copié en /Volumes/ConnectedDrive/dir
puedo compararlos con:
rsync -acvn /Volumes/dir /Volumes/ConnectedDrive/
La salida me dirá si es necesario copiar alguno de los archivos al receptor para que el receptor sea igual a la fuente.
Por ejemplo, si he sincronizado 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
Al compararlos por igualdad, no se deben realizar operaciones:
> 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 sumidero fuera ligeramente diferente, veríamos 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 archivo MasterLog.txt
no es el mismo.