El comando rsync sirve para copiar archivos o carpetas tanto locales como remotas. Es parecido a un scp, pero con algo que lo hace más útil.
No sólo realiza la copia sino que comprueba previamente qué archivos ya están en la carpeta destino para no copiarlos innecesariamente. De esta forma ahorra tiempo y transferencia a la hora de migrar nuestros datos entre diferentes máquinas.
Otra opción que me parece muy útil es que se puede especificar que si un archivo está en la carpeta destino pero no en el origen, se borre del destino.
rsync -aPv [--delete] [usuario@máquina_origen:]ruta_origen [usuario@máquina_destino:]ruta_destino
Tiene una lista bastante completa de opciones, pero he puesto las que más útiles me parecen:
- a: archive
- P: progress. Mostrar archivos que faltan por transferir
- v: verbose. Si no decimos nada, no se muestra información
- –delete: Si un archivo del destino NO está en el origen, se borra del destino
Otro día os cuento más cosas 🙂