Blog de Javier Castañón – JavCastaPosts RSS Comments RSS

Existe una utilidad en linux (desarrollada también para windows) llamada rsync.

http://www.rodriguezpascua.com/wp-content/uploads/2008/10/newrsynclogo1.jpg

Vía: wikipedia.org

.     rsync es una aplicación de software para sistemas de tipo Unix que ofrece transmisión eficiente de datos incrementales comprimidos y cifrados. Mediante una técnica de delta encoding, permite sincronizar archivos y directorios entre dos máquinas de una red o entre dos ubicaciones en una misma máquina, minimizando el volumen de datos transferidos. Una característica importante de rsync no encontrada en la mayoría de programas o protocolos es que la copia toma lugar con sólo una transmisión en cada dirección. rsync puede copiar o mostrar directorios contenidos y copia de archivos, opcionalmente usando compresión y recursión.

En modalidad de “Daemon” servidor, rsync escucha por defecto el puerto TCP 873, sirviendo archivos en el protocolo nativo rsync o via un terminal remoto como RSH o SSH. En el último caso, el ejecutable del cliente rsync debe ser instalado en el host local y remoto.

Lanzado bajo la licencia GNU General Public License, rsync es software libre.

La buena noticia es que esta herramienta libre esta desarrollada tanto para Unix (Solaris) / Linux y Windows. Por lo que es una alternativa bastante interesante a costosos sistemas de pago (no libres) de backup y sincronización de directorios.

En ubuntu 9.10 ya viene instalado rsync.

Existe una interfaz gráfica para el uso de esta herramienta llamada Grsync. (No permite toda la potencia de rsync pero es una buena idea para ciertas situaciones)

Un script ejemplo de uso de rsync ( vía: http://bioinformatiquillo.wordpress.com/2008/06/16/grsync-gui-gtk-para-rsync/ )

#!/bin/bash
COMMAND=”rsync -r -t -p -o -g -x -v –progress –delete”
SOURCE=”/home/jose”
DESTINATION=”jose@servidor_destino:/home/jose/backup”
DIR=”Documentos”
echo “$DIR”
eval $COMMAND “$SOURCE/$DIR/” “$DESTINATION/$DIR”

Otro ejemplo (vía: http://www.ubuntu-es.org/index.php?q=node/60946 ) bastante interesante para hacer copias locales y en remoto:

.      RSYNC COPIA LOCAL

rsync -altgvb /var/www/ /home/gabo/Respaldos/backup_www

RSYNC SSH – COPIA A UN SERVER.

rsync -e ssh -altgvb /leo/ root@192.168.1.4:/home/leo/CMO

- Hasta aqui todo esta bien, pero si necesitamos hacer esto automaticamente cada hora mediante cron tenemos que lograr que ssh no nos pida contraseña. Para lograrlo realizamos el siguiente procedimiento:

Creamos una llave publica y una llave privada:
ssh-keygen -tdsa

Presionando solo enter en todas las preguntas que el comando anterior requiere vamos a tener nuestra llave publica en /home/usuario/.ssh/id_dsa.pub. Copiamos esta llave al servidor 192.168.1.4:

cd /home/usuario/.ssh/
cat id_dsa.pub | ssh bot@192.168.1.4 “cat – >> /home/bot/.ssh/authorized_keys”

Probamos que todo funcione haciendo:
ssh -l bot 192.168.1.4

Y un último ejemplo: Como sincronizar tu pendrive con una carpeta de tu disco duro, para tener copias de seguridad:

.      Copia de seguridad del pendrive con rsync

Referencias:

* http://es.wikipedia.org/wiki/Rsync

* Página oficial de rsync

* Using rsync on windows

* http://bioinformatiquillo.wordpress.com/2008/06/16/grsync-gui-gtk-para-rsync/

* http://www.opbyte.it/grsync/

* http://www.ubuntu-es.org/index.php?q=node/60946

* Copia de seguridad del pendrive con rsync

  • Share/Bookmark
Clika en el altavoz para oir el postAltavoz

3 Responses to “Rsync – Backups y Sincronizar directorios o carpetas.”

  1. on 15 Mar 2010 at 12:58Bitacoras.com

    Información Bitacoras.com…

    Valora en Bitacoras.com: Existe una utilidad en linux (desarrollada también para windows) llamada rsync. Vía: wikipedia.org .     rsync es una aplicación de software para sistemas de tipo Unix que ofrece transmisión eficiente de datos increme……

  2. on 05 Apr 2010 at 21:54Merocl (1 comments)

    Hola Amigos.
    Como puedo hacer para sincronizar todo el disco?, es un linux centos como servidor web, la idea es que el server remoto quede operando tal cual como el source.

    Saludos.

  3. on 06 Apr 2010 at 10:50JavCasta (436 comments)

    Para ese escenario investigaría como implementar un Cluster web server Apache.

    salu2.

    Otras referencias:
    Backups / Rsync

    * Rsync to backup server using ssh: https://calomel.org/backup_server_rsync.html
    * Rsync backing up local user data: https://calomel.org/backup_user_rsync.html
    * Rsync hints, tips and examples: https://calomel.org/rsync_tips.html

Leave a Reply

Los enlaces en los comentarios pueden encontrarse libres de nofollow.

Powered by WP Hashcash

?>