Rsync es un software que se utiliza para copiar y sincronizar archivos entre dos o más sistemas. Es un software muy eficiente que utiliza un algoritmo de copia diferencia, lo que significa que solo copia los datos que han cambiado desde la última sincronización.
-a: mantiene todo (tiempos de modificación, acceso, enlaces, permisos, grupos) y navega por todos los subdirectorios. Sustituye a todas estas opciones juntas: rlptgoD.-P: muestra el progreso de la operación.-v: muestra detalles sobre la ejecución del comando (si se usa -P no es necesario incluir esta opción).-n: ejecuta rsync, pero no realiza cambios. Modo de prueba (dry-run).Rsync se puede utilizar para crear copias de seguridad de archivos y directorios.
Hacer una copia de seguridad del directorio /home/pepito/documentos en /backup:
rsync -a /home/pepito/documentos /backup
rsync -a -e ssh /home/pepito/documentos pepito@servidor-externo:/backup/
-e: especificamos qué comando se usará en el remoto. En este caso ssh.
El comando cp no cuenta con un indicador de progreso de la copia del archivo. Podemos usar rsync para ello:
rsync --progress archivo.txt /ruta/destino
La opción --progress se puede abreviar con -P
rsync -avP -e 'ssh -p 22222' /origen/ usuario@servidor:/destino
La opción e permite especificar que shell remota usar, así que aprovechamos para indicar ssh y pasarle la opción para modificar el puerto a usar en la conexión.