Copias de seguridad automáicas con rsync

Después del problema con el disco duro, me he montado un pequeño sistema de copias de seguridad a otra máquina con rsync utilizando ssh. El apunte en la web es más que nada para tenerlo a mano. Si a alguien le es til, pues perfecto, pero aviso que esto no es nada nuevo ni ingenioso. Puedes encontrar muchas formas de hacer lo mismo (y quizá mejor) buscando en Google.com :)

Vamos a suponer la existencia de datos.com como ordenador con los datos reales y de copias.com como equipo donde se conservarán las copias.

Como vamos a utilizar ssh para enviar los archivos de una máquina a otra, lo primero que hay que hacer es crear las claves pblicas y colocarlas en las máquinas necesarias para que no nos pida login al acceder.

Creamos la clave pblica rsa:

david@copias.com:~$ ssh-keygen -t rsa

Copiamos la clave a la máquina datos.com

david@copias.com:~$ scp id_rsa.pub david@datos.com:/home/david/.ssh/

En la máquina copias.com, creamos el archivo authorized_keys dentro del directorio oculto de ssh del usuario utilizado.

david@datos.com:~$ cat id_rsa.pub >> /home/david/.ssh/authorized_keys

Ahora ya podemos hacer el primer rsync para comprobar.

david@copias.com:~$ rsync -avz -e ssh david@datos.com:/home/david/ /home/david/backup/

Luego, podemos crear un pequeño script para correrlo en el cron con tanta frecuencia como necesitemos.
Yo he utilizado uno que ha creado Xisco, modificandolo un poco.

david@copias.com:~$ cat /opt/scripts/copia-rsync.sh
#!/bin/bash
echo
echo «Inici de la copia de » $1
echo «========================================»
date
echo «Copiant arxius…»
rsync -avz -e ssh david@datos.com:/home/david/ /home/david/backup/
echo
du -h /home/david/
echo
echo «Arxius copiats»
echo
echo «Espai lliure:»
df -h
echo
date
echo «Fi de la copia.»
david@copias.com:~$

Y en el cron del ususario david poniendo esto.

david@copias.com:~$ crontab -l
14 0 * * 2 root /opt/scripts/copia-rsync.sh dilluns | mailx -s «Copias.com: Copia diaria (dilluns)» david@datos.com
14 0 * * 3 root /opt/scripts/copia-rsync.sh dimarts | mailx -s «Copias.com: Copia diaria (dimarts)» david@datos.com
14 0 * * 4 root /opt/scripts/copia-rsync.sh dimecres | mailx -s «Copias.com: Copia diaria (dimecres)» david@datos.com
14 0 * * 5 root /opt/scripts/copia-rsync.sh dijous | mailx -s «Copias.com: Copia diaria (dijous)» david@datos.com
14 0 * * 6 root /opt/scripts/copia-rsync.sh divenres | mailx -s «Copias.com: Copia diaria (divenres)» david@datos.com
14 0 * * 0 root /opt/scripts/copia-rsync.sh dissabte | mailx -s «Copias.com: Copia diaria (dissabte)» david@datos.com
14 0 * * 1 root /opt/scripts/copia-rsync.sh diumenge | mailx -s «Copias.com: Copia diaria (diumenge)» david@datos.com
david@copias.com:~$

Publicado por

Suki_

CEO en Damavis Studio, proyectos I+D y BigData. Jugando con bits y software libre desde hace ya demasiado tiempo...

4 comentarios sobre “Copias de seguridad automáicas con rsync”

  1. A mi tambien me interesaria mucho saber como poder copiar todo el directorio raiz y hacer para que cuando el servidor principal se «caiga» el secundario lo sustituya con los mismo archivos, usuarios, etc.

Responder a fernando Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.