Usualmente uso el famosímo scp
para transferir archivos, el problema es que al parecer scp
es muy lento cuando se trata de muchos archivos pequeños.
rsync
es un comando para hacer réplicas de un directorio a otro lugar, lo que hace es checar el comparar los directorios y copiar todos los archivos que hayan sido modificados, que sean nuevos o incluso que hayan sido elminados para hacer una copia exacta.
La gran ventaja de rsync
es que aparte de crear una réplica, es sorprendentemente rápido, en especial con archivos pequeños.
El uso es muy simple:
rsync -az -e ssh FUENTE usuario@servidor:DESTINO
Eso es todo, para que funcione ambos servidores deben tener el programa rsync
instalado, FUENTE
es el directorio local a copiar (o puede ser un archivo), DESTINO
es el directorio del servidor remoto a donde se copiará.
La opción -az
envia la información compresa y -e ssh
indica que hay que usar el programa ssh
para transferir los archivos (con esto se puede enviar también mediante ftp
, etc)
Otra opción que uso mucho es --delete
, de esta manera rsync
también borrará los archivos “extra” para que la copia sea exacta. Hay que tener cuidado, porque en algo descuidado se pueden borrar los archivos locales (inversión de parámetros)… algo que me pasó una vez, pero tenía respaldo =).