El otro día Carazo nos comentaba a través de la entrada Solucionar problemas al utilizar rsync con SAMBA una forma de evitar un problema específico usando rsync sobre un dominio con directorios compartidos bajo el protocolo SMB.
Es muy posible que muchos de vosotros ni siquiera lo hayais probado porque no os ha surgido esa problemática. Para que os familiariceis un poco con rsync os propongo una triple entrega en la que os muestro una serie de ejemplos simples para que pilléis, de menos a más, la forma de trabajo de rsync, que es bastante simple pero que si nunca usásteis os puede resultar extraña.
1. Sincronizar dos directorios locales.
Utilizaremos el comando rsync con parámetros -zvr. Ejemplo:
$ rsync -zvr /home/ahornero/Music/ /media/disk/Music/
-z habilitar compresión
-v modo verbose
-r recursivo (recorre los subdirectorios)
2. Preservar los timestamps
Al usar rsync, en el caso anterior mismamente, la fechas de creación / modificación han cambiado. Para preservarlos usamos el modo -a. Ejemplo:
$ rsync -azv /home/ahornero/Music/ /media/disk/Music/
3. Sincronizar un sólo archivo
Mucho más simple que lo anterior, es directo. En el ejemplo usamos el parámetro -v para saber qué está pasando (verbose mode):
$ rsync -v /home/ahornero/Music/Guardians_bso.mp3 /media/disk/Music/
4. Sincronizar archivos locales con remotos
Es también bastante directo, si os fijáis en el ejemplo solo varía el destino, que en este caso se trata de una dirección remota (nos comunicamos por SSH) y proporcionamos un nombre de usuario, porteriormente nos solicitará la contraseña de ese usuario en ese equipo remoto:
$ rsync -avz /home/ahornero/Music/ alberto@192.168.1.30:/home/alberto/Music/
5. Sincronizar archivos remotos con locales
Exactamente igual que el caso anterior pero con el origen y destino cambiados:
$ rsync -avz alberto@192.168.1.30:/home/alberto/Music/ /home/ahornero/Music/
En la próxima entrega, más. 😉
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
Bastante interesante, la verdad que con ejemplos así sencillos ayuda bastante a entenderlo ;)
Una duda, en el primero usas -zvr y en el resto -avz , se podría usar un -azvr para tener todo?
Tip: para los que trabajamos en entornos WinNT (Active Directory), si el servidor remoto , que en este caso suele ser un Win, no tiene corriendo el puerto 22 para permitir conexiones ssh, rsync no funciona. Recomiendo smbnetfs para montar en un directorio local la red CIFS; y, utilizando el path adecuado al directorio compartido correspondiente, usarlo como origen de datos a un directorio local.
Para especificar un puerto distinto al 22 utilizando rsync hay que pasarle la opción -e asi:
rsync -e 'ssh -P9999'
Cambiar el "9999" por el puerto que tengas configurado y ya funciona.