Realizar backups de manera facil con rsync y ssh

Imagen de RazaMetaL

Tengo dos servidores, uno tiene un eggdrop que guarda el log de actividad de un canal en /home/bot/logs/canal. Hasta ahi todo esta muy bien, pero requiero que esos logs se publiquen en un sitio web que se encuentra en otro servidor.

La manera mas sencilla y practica que encontre para hacer esta tarea fue usando rsync para sincronizar los archivos de log desde un servidor a otro y que solo se copien los archivos nuevos o modificados.

Primero vamos a decidir las opciones para rsync, en mi caso y como lo explico en el parrafo anterior requiero copiar todos los archivos al nuevo servidor, despues que copie solo los nuevos archivos y/o los modificados. Todo esto lo logro pasando las opciones -avz y -e ssh a rsync.


-a para copiar recursivamente manteniendo privilegios, fecha de creacion, permisos, etc.;
-v para incrementar el nivel de detalle de la operacion;
-z para comprimir los datos, asi la transferencia es mas rapida;
-e ssh para usar ssh para copiar los archivos de un servidor a otro.

Puedo usar tambien --delete-after para borrar los archivos que hayan sido borrados antes de realizar el backup en el servidor de logs.

Para ilustrar el ejemplo voy a asumir la siguiente configuracion:

[quote]
servidor de logs : 192.168.0.100
servidor web : 192.168.0.200
rsync lo voy a ejecutar con un cron en el servidor web
[/quote]

Procedimiento:
1.- Instalamos rsync en el servidor web, en Debian basta con hacer un:

aptitude install rsync

2.- Ejecutamos rsync en 192.168.0.200:

rsync -e ssh -avzn bot@192.168.0.100:/home/bot/logs/canal /var/www/logs/canal/

Si todo esta bien tendremos un mensaje indicando los archivos recibidos, la cantidad de bytes y la velocidad de transferencia.

3.- Hasta aqui todo esta bien, pero si necesitamos hacer esto automaticamente cada hora mediante cron tenemos que lograr que ssh no nos pida contrasena. 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.0.100:


cd /home/usuario/.ssh/
cat id_dsa.pub | ssh bot@192.168.0.100 "cat - >> /home/bot/.ssh/authorized_keys"

Probamos que todo funcione haciendo:

ssh -l bot 192.168.0.100

Si no nos pide contrasena... podemos continuar con el siguiente paso.

4.- Ahora que 192.168.0.100 no nos pide contrasena podemos automatizar el proceso. Debemos ejecutar este comando en 192.168.0.200 como una tarea cada n cantidad de tiempo y desde luego podemos tener un registro de que archivos se van copiando:


crontab -e

Para ejecutar el backup cada hora agregamos en 192.168.0.200:

0 * * * * rsync -e ssh -avz bot@192.168.0.100:/home/bot/logs/canal /var/www/logs/canal/ 2>&1 > /var/log/rsync-backup.log

Comentarios

que tal raza sabes que ice

Imagen de devilsoulblack

que tal raza sabes que ice los pasos que mencionas pero ami me pide la clave al ejecutar ssh -l bot 192.168.0.101 desde el equipo servidor web, te menciono que ambos equipos tanto donde esta el eggdrop como el servidor web usan centos, he seguido los pasos que mencionas, pero sigue pidiendome clave :(
® { No HopE & No FeaR } ®
Be part of the change, because We are the change..
Projects:
Orenses.org: http://www.orenses.org
DeVilSoulBlacK WebLog: http://www.devilsoulblack.com
Your Daily News On The Web: http://www.bitsofnews.net

® { No HopE & No FeaR } ®
Be part of the change, because We are the change..
Projects:
Orenses.org: http://www.orenses.org

Yo utilizé dos usuarios

Imagen de RazaMetaL

Yo utilizé dos usuarios para ilustrar el ejemplo:


usuario
bot

El primero para el servidor web y el segundo para el servidor donde reside el eggdrop, es decir bot existe en 192.168.0.100 y usuario en 192.168.0.200. Adapta el ejemplo a tu escenario.

------------

Antes de preguntar visita el [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

 

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

esa parte esta clara, pero

Imagen de devilsoulblack

esa parte esta clara, pero aun asi me sigue pidiendo clave
® { No HopE & No FeaR } ®
Be part of the change, because We are the change..
Projects:
Orenses.org: http://www.orenses.org
DeVilSoulBlacK WebLog: http://www.devilsoulblack.com
Your Daily News On The Web: http://www.bitsofnews.net

® { No HopE & No FeaR } ®
Be part of the change, because We are the change..
Projects:
Orenses.org: http://www.orenses.org

Seguro que hicistes todo

Imagen de RazaMetaL

Seguro que hicistes todo paso a paso?

RTFMA :evil:

------------

Antes de preguntar visita el [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

 

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]