Rsync

Sincronización de carpetas

rsync -rvuc --delete origen destino

  • r → recursivo
  • v → verbose
  • u→ actualiza sin volver a pasar lo que ya existe
  • c→ se base en el valor del caĺculo del checksum para la actualización
  • a → mantiene el propietario, grupo, permisos, fecha y hora, así como los enlaces simbólicos.
  • delete. → borra todo lo que esté en el destino que no esté en el origen. (si en la anterior sincronización teníamos un fichero en el destino que ahora se ha elimindo del origen, cuando volvamos a sincronizar con esta opción lo eliminará del destino para que ambas carpetas tengan el mismo contenido)
Atención al uso de la barra al final del directorio origen. Si ponemos la / al final del directorio origen, copia el contenido de un directorio en otro, mientras que si lo ejecutamos sin la barra creará el directorio y lo copiará dentro

Usando SSH

Podemos usarSSH para crear un tunel por shh y transmitir los datos a través del mismo. Para ello lo primero será crear las claves ssh en la máquina desde la que vamos a lanzar la conexión y copiarlas a la máquina desde la que nos vamos a traer los datos

rsync -e ssh -aaxvKHS root@ip_equipo_origen_datos:/directorio_origen /directorio_destino_local

Sin conexión de red

Mover carpetas con rsync

Usaremos la opción –remove-source-files para que elime los archivos del origen que ya se ncuentren en el destino.

rsync --remove-source-files -av /carpetaorigen/ /carpeta/destino/

Si antes de ejecutar el comando anterior, queremos haver una prueba para ver los cambios que implica añadiríamos la opción –dry-run

rsync --remove-source-files -av --dry-run /carpetaorigen/ /carpeta/destino/

Backup de equipos con rsync

Backup de un sitio web por ftp + rsync

  • Antes que nada necesitamos el paquete curlftpfs para poder montar nuestro sitio ftp como una unidad más
    sudo apt-get install curlftpfs 
  • Creamos el punto de montaje
    sudo mkdir /media/misitioftp
  • montamos nuestro sitio ftp con curlftpfs en el punto de montaje creado anteriormente
    sudo curlftpfs usuarioftp:password@servidor /media/misitioftp
  • Una vez montado podemos usar rsync con el comando
    rsync -rvuc --delete /media/misitioftp/ /media/backup/

Backup de un sitio web utilizando LFTP

Sincronización de carpetas con Fabric y rsync

Fabric es una librería para administradores de sistemas que permite automatizar muchas tareas http://docs.fabfile.org/en/1.8/

Referencias