Tip: Enviar archivos por SSH con rsync

A veces necesitamos transferir algún archivo de un equipo a otro por medio la red en la que estamos y no queremos hacer uso de ningún servidor tipo Web, FTP ó cualquier otro; sólo tenemos acceso al sistema por SSH y queremos algo más potente que la herramienta integrada por defecto (scp).

rsync

Rsync es una aplicación para sistemas UNiX-Like (disponible también en Windows con cygwin) que permite sincronizar archivos y directorios entre dos máquinas de una red ó entre dos ubicaciones de una misma máquina, transmitiendo eficientemente datos incrementales comprimidos y cifrados.

Suponiendo que queremos copiar los archivos de la carpeta /root de la máquina 192.168.1.70 a nuestra máquina en /home/cortex:

rsync -axSRzv [email protected]:/root /home/cortex/

Podríamos verificar los archivos en /home/cortex/root. En caso de que después repitas la transferencia rsync por defecto sólo vá a transferir los archivos nuevos y/o modificados.

Si quieres que sean borrados los archivos del PC origen a medida que sean transferidos puedes agregar el parámetro --delete-during ó si quieres excluir un determinado archivo ó directorio debes usar --exclude=dir/:

rsync -axSRzv --delete-during --exclude=tmp/ [email protected]:/root /home/cortex/

Nota: Recuerda que al hacer transferencias de un equipo a otro en ambos debe de estar instalada la aplicación rsync, seguramente la encuentras en los repositorios.

Espero les sea de utilidad 😉

Enlaces:

Subir