{{tag> rsync }}
===== 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 usar[[linux:ssh|SSH]] 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 ===
En caso de no tener conexión entre las dos carpetas
rdiffdir
* http://www.vicente-navarro.com/blog/2013/02/08/rdiffdir-sincronizando-directorios-entre-sistemas-distintos-sin-usar-la-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 ======
* http://administradores.educarex.es/wiki/index.php/BackupPC._Backup_de_equipos_con_rsync
* http://www.thegeekstuff.com/2010/09/rsync-command-examples/
* http://www.tail-f.com.ar/programacion/bash/backups-con-tar-rsync-rotacion.html
* http://www.thegeekstuff.com/2010/09/rsync-command-examples/
* http://www.vicente-navarro.com/blog/2008/01/13/backups-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 ====
* http://www.samuelaguilera.com/archivo/lftp-mirror-backup.xhtml
* http://joedicastro.com/sincronizar-una-carpeta-local-y-una-remota-a-traves-de-ftp-lftp-mirror.html
===== 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/
* http://joedicastro.com/sincronizar-dos-directorios-con-fabric-y-rsync.html
===== Referencias =====
* http://www.thegeekstuff.com/2010/09/rsync-command-examples/
* Interfaz gráfico para rsync http://www.opbyte.it/grsync/
* http://www.jveweb.net/archivo/2010/11/sincronizando-carpetas-con-rsync.html
* https://www.comoinstalarlinux.com/rsync-local-remoto-archivos-backup-files-commands/
* https://www.atareao.es/software-linux/sincronizacion-a-fondo-con-rsync/