Las mejores opciones de rsync para transferir datos entre dos Mac

Estoy a punto de transferir mis datos de mi antiguo iMac a un nuevo MacBook Pro. Me gustaría comenzar de nuevo con una instalación nueva en B y copiar solo un subconjunto de mis datos, reinstalando aplicaciones desde cero, por lo que no estoy considerando usar la asistencia de migración.

Estoy pensando en usar rsync para hacer el trabajo, pero no sé qué opciones debo usar.

Leyendo las páginas del manual, salí con esto:

rsync -vazHE --progress -e ssh andrea@imac:/remote/dir /local/dir/ 2> errors.log
  • v: detallado
  • a: archivo, para mantener tiempos, enlaces simbólicos, permisos, grupos, propietarios y recorrer directorios recursivamente
  • z: para comprimir datos
  • H: para mantener cualquier enlace duro
  • E: para mantener los atributos extendidos
  • progreso: para estar al tanto del progreso del trabajo

¿No estoy considerando otras opciones útiles?

Moví mis datos y el comando funcionó de maravilla. Revisé algunos datos de muestra con MD5 y todo estaba bien, excepto la carpeta iPhoto, donde tenía el tamaño correcto pero muchos más archivos de los esperados. Sospecho que hay algunos enlaces que no se manejaron correctamente.
Si vuelve a hacer esto nuevamente, considere Truck.app. Lo escribí para hacer rsync tan fácil como 'arrastrar y soltar'. Tiene buenas opciones predeterminadas, pero si lo necesita, puede ir directamente al compartimiento del motor y ajustar todo :) échele un vistazo si lo desea bonhardcomputing.com/truck

Respuestas (2)

Personalmente, me inclinaría a soltar el zinterruptor. La compresión solo es realmente útil en conexiones muy lentas (datos móviles, acceso telefónico) ya que es probable que la CPU se convierta en el cuello de botella. Ciertamente he visto una caída en el rendimiento con la compresión habilitada.

Suponiendo que su red sea confiable, haría bien en usar un cifrado SSH más eficiente, pero quizás menos seguro, ya que esto probablemente acelerará un poco la operación (ciertamente ayuda con VNC sobre SSH o el reenvío X11 sobre SSH).

  • Ejecutar ssh -Q cipheren ambos sistemas y elegir un cifrado común a ambos
  • úsalo conrsync -vhaHE --progress -e "ssh -c aes256-cbc" andrea@imac:/remote/dir /local/dir/ 2> errors.log

PD: también uso el -hinterruptor para obtener más números legibles por humanos en MB/s en lugar de b/s

Sé que esta es una publicación antigua, pero me ayudó mucho. Vale la pena mencionar que el comando debe ejecutarse desde el destino, no desde la fuente... a menos que cambies los comandos (que estúpidamente no me di cuenta al principio). ¡Tengo que amar las copias de seguridad! ;)
@IncredibleHat Leí tu comentario después de que me metí en él 😅

Resulta que blowfish y arcfour estaban desactivados de forma predeterminada por motivos de seguridad (a partir de OpenSSH 6.7 ), por lo que la sugerencia anterior ya no funciona.

Sin embargo, la buena noticia es que puede usar uno de los cifrados seguros de su sistema.

Para ver una lista, ejecute: ssh -Q ciphery luego use el que desee:

rsync -azvP --progress -e "ssh -c <insert-cipher-here>" user@hostname:/source /destination
Si ambas CPU admiten la aceleración de hardware AES-NI , los cifrados basados ​​en AES pueden ser más rápidos de lo esperado. Puede verificar si su Mac tiene esto ejecutando sysctl -a machdep.cpu | grep AES: si imprime una lista de funciones, tiene la aceleración.