rsync es una herramienta fantástica que permite hacer sincronizaciones en un sentido, sincronizando solo los archivos que han cambiado.
Normalmente viene instalado pero si no es así:
sudo apt install rsync
rsync podemos encontrarlo en todas las distros linux y opera de forma similar a ssh, scp y cp.
Hay dos modos de sincronización, enviando el contenido dentro de un directorio o sincronizando el contenido del directorio en otro.
rcsync -r directorio1/ directorio2
rcsync -r directorio1 directorio2
Vamos ha hacer una sincronización del directorio1 al directorio2
rcsync -r directorio1/ directorio2
-r significa de forma recursiva
rcsync -a directorio1/ directorio2
-a Significa “archivo” y sincroniza de manera recursiva, además conserva los enlaces simbólicos, los archivos especiales y de dispositivo, fechas de modificación, grupo, propietario y permisos. Se utiliza con más frecuencia que -r
rsync nos permite hacer una simulación de como se va a producir la sincronización con la opción. -n o --dry-run.
Con la opción -v podemos visualizarlo:
rsync -anv directorio1/ directorio2
Para sincronizar con directorios remotos via SSH, es necesario tener instalado rsync en ambos dispositivos.
Sincronización de local a remoto
rsync -a ~/directorio1 usuario@ip:directorio2
Sincronización de remoto a local
rsync -a usuario@ip:/home/usuario/directorio1 directorio2_local
Si utilizas SSH con archivo de configuración, para evitar poner el usuario e IP, puedes utilizar el nombre que hayas añadido en el archivo de configuración. Imagina que he utilizado vps como nombre del servidor. Lo haríamos así:
rsync -a vps:/home/usuario/directorio1 directorio2_local
-z = Permite comprimir los archivos antes de enviar, para que la transferencia de datos sea más baja-P = Es la unión de los indicadores --progress y --partial. El primero es una barra de progreso de las transferencias, el segundo permite reanudar las transferencias interrumpidas.--delete = Elimina los archivos en el destino si se eliminan en origen--exclude= = Excluir archivos o directorios. Si quieres añadir varias opciones, separalas con comas. Ejemplo: --exclude{'file1.txt','dir1/*','dir2'}=--exclude-from = Utiliza un archivo de texto plano para añadir los archivos y directorios a excluir--include= = Igual que exclude pero para indicar los directorios o archivos a incluir.--backup y --backup-dir = Ambos van juntos, el primero almacena copias de seguridad importantes y la segunda opción indica el que directorio se guardan--log-file= = Añade la ruta y archivo donde quieres guardar los logs. rsync guarda los archivos y directorios que se han sincronizadoUtiliza las opciones -nv para comprobar los archivos incluidos o excluidos y ver como sería la sincronización antes de hacerla.
Publicado por Angel el Tuesday 28 June del 2022
También te puede interesar:
Powered by org-bash-blog
Written in OrgMode with Emacs and converted to HTML with Pandoc

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.