Tutorial: Configurar Backups remotos con rsync. Paso a Paso

  • Autor Autor oscarva
  • Fecha de inicio Fecha de inicio
oscarva

oscarva

Lambda
Buenas Betas.

Hoy finalmente me decidí a realizar este tutorial que espero le pueda ser de ayuda a muchos usuarios. Resulta que por días y días buscaba quien me prestara el servicio para configurar las copias de seguridad de mi servidor en un espacio que adquirí en rsyncpalace.com

En un principio me daba miedo configurarlo yo mismo, pero entonces contacte a algunas empresas y me cobraban desde $200 dolares hasta una que se descaro cobrándome $600 dolares por configurar mis 3 servidores para que hicieran el backup remoto.

Bueno no voy a entrar en detalles técnicos ni nada por el estilo, solamente menciono que Rsync es un sistema que te permite replicar o copiar directorios o archivos muy rápidamente y sobretodo de manera segura.

Bueno para empezar contrate un espacio de 200Gb en rsyncpalace.com (No quiero hacer publicidad ni nada por el estilo, solamente que me pareció muy bueno y sobretodo económico para la calidad de hadware que ofrecen) de hecho tengo otro en bqinternet.com que también recomiendo, pero por facilidad y precio me quede en rsyncpalace.

Este tutorial sirve solo si cuentas con un servidor dedicado o un VPS con acceso por ssh, si no lo tienes hay otros métodos que te tocaría investigar.

Empezamos...

Lo primero que debemos hacer es configurar nuestro panel de control, en mi caso WHM para que realice las copias de seguridad de tus sitios ojala todos los dias, ademas que mantenga estas copias por semanas o meses...

Esto es ideal ya que de esta manera tendremos copias de seguridad en nuestro propio server y ademas copias de seguridad en nuestro server remoto.

Luego de esto y logicamente asumiendo que ya compraron su espacio de backup les enviaron un email con los datos de su cuenta, username, contraseña, ip... ETC

Entonces lo primero es loguearnos en nuestro servidor (Nuestro servidor web, no el servidor remoto de backups), por medio de shh logicamente. luego procedemos a verificar si ya tenemos una contraseña de encriptacion RSA, no se alarmen por el nombre, es simplemente una manera de conectar los dos servidores y que no tengas que siempre poner contraseñas.

1. Verificamos si ya tenemos una contraseña RSA en nuestro server creado, para esto escribimos en nuestro ssh:

cat ~/.ssh/id_rsa.pub

Si nos aparecen un poco de caracteres es porque tenemos ya creada nuestra contraseña y podemos pasar al punto 3, si no nos aparecen y dice que no se encuentra entonces pasamos al punto 2.

2. Creamos la contraseña RSA en caso de no tenerla, para ello escribimos en nuestro ssh:

ssh-keygen -t rsa -N ''

Esto generara nuestra RSA, en caso de que nos pregunte algo como el directorio donde crearla solo le damos enter...

3. Ahora vamos a autorizar la conexión entre los dos servidores... para ello escribimos lo siguiente en nuestro SSH, recordar cambiar yourusername por el username que le envio rsyncpalace, y cambiar ourserverip por la ip que le envio tambien rsyncpalace.

scp ~/.ssh/id_rsa.pub yourusername@ourserverip:.ssh/authorized_keys

Luego de escribir esto y darle enter te pedira la contraseña de tu servidor que tambien debio enviartela rsyncpalace.

4. Vamos a hacer una pequeña prueba a ver si efectivamente ya están conectados los servidores... paa ello vamos a copiar por ejemplo la carpeta ETC en el servidor remoto de rsyncpalace. Entonces escribimos lo siguiente en nuestro ssh:

rsync -avz -e ssh /etc yourusername@ourserverip:espacio1

Lógicamente cambiamos nuevamente yourusername y ourserverip por lo que te envió rsyncpalace, espacio1 sera la carpeta donde quede guardados tus archivos, tambien puedes cambiarla si deseas.

Damos enter y esperamos a que haga la copia, luego vamos a nuestro panel de rsyncpalace y verificamos que si copio todos los archivos.

5. Ya esta todo perfecto, así que vamos entonces a configurar el CRONJOB para que se haga automáticamente las copias diariamente o como tu desees, para configurar el CRON entonces escribimos en nuestro ssh lo siguiente:


se nos abrirá el archivo de CRON entonces agregaremos la siguiente linea al final de este:

0 3 * * * rsync -avz --exclude=/proc -e ssh / yourusername@ourserverip:espacio1

Nuevamente recordemos cambiar yourusername y ourserverip por los que nos dio rsyncpalace, ademas si queremos también podemos cambiar la carpeta que en este caso es espacio1... Guardamos el CRON (ctrl + o) y listo.

En este caso podemos ver que el CRON se ejecutara todos los dias a las 3AM, yo recomiendo ponerlo en estas horas de la madrugada para evitar que tus visitantes sientan lentas sus webs.

Ademas podemos ver que este CRON hara un backup de todas las carpetas y archivos de tu servidor, si por ejemplo quisieras solo un backup de tu carpeta /home entonces el CRON seria:

0 3 * * * rsync -avz --exclude=/proc -e ssh /home yourusername@ourserverip:espacio1

Y FIN...

Eso es todo, como ven no es nada complicado y si te ahorras una buena cantidad de dinero, ademas que duermes mucho mas tranquilo sabiendo que tus webs tienen 2 backups disponibles en caso de problemas...

Esto es solo una guía basada en mi experiencia, no me responsabilizo si se generan problemas o errores en sus servidores. Cada uno hace uso de este tutorial bajo su responsabilidad y recomiendo tener al menos los mínimos conocimientos sobre manejo de servidores.
 
No esta mal, yo prefiero LFTP, menos consumo de recursos, no se para que necesitas hacer backups de todas las carpetas del servidor /var/ /etc /usr, te llevará mucho rato y si haces backup de /var/lib/mysql de esta manera no lo veo correcto en caso de que se este escribiendo.

Otra cosa que haces es un backup vía WHM y luego haces backup de todo el servidor con rsync, yo haría el backup en WHM y luego de ese backup habría un backup remoto solo de la carpeta /backup.

De esta manera ahorras recursos y tiempo y estas seguro que nada fallará cuando hagas una restauración.

Lo mismo sería hacerlo con LFTP con el parámetro only-newer.

Esto lo digo por que si te hackean o te hacen algo en el servidro no creo que sea lo más correcto restaurarlo, lo ideal sería reinstalarlo, no sabes si te han hackeado el lunes y te han infectado con algo y el jueves te han hecho el daño de borrarlo todo o dejarte off el server, restaurarás el backup del miércoles de todo el servidor pero este seguirá infectado.

También hay que tomar en cuenta que la primera vez que se haga el backup de todo el sistema te llevará muchas horas y más si va lento el server o la red.

Por eso prefiero solo hacer backups en el servidor y luego trasferirlos al otro servidor, más rápido, más eficiente, controlas más que todo este bien hecho por que son menos archivos o es un archivo comprimido y aparte ahorras recursos.

:encouragement:
 
Correcto Skamasle, eso hice y sin duda tienes razon, al final lo unico que se busca es tener la copia de los sitios por lo que hacer solo la copia de /backup es mucho mas eficiente y rapido.

Gracias por tu aporte.
 
Gracias 🙂
 
Atrás
Arriba