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 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: