Copias de seguridad con rsync

En el artículo de hoy hablaré de las funciones de rsync para realizar copias de archivos, que en muchos casos serán de seguridad, para garantizar nuestros backups.

Rsync es una aplicación de software libre, que nos permite copiar archivos de manera cifrada y comprimida, si así lo deseamos, conservando los atributos de los ficheros de origen.

Utilizando cron podemos sincronizar ficheros y carpetas, minimizando el volumen de datos transferidos.

Por defecto utiliza el puerto 873 si funciona cómo daemon, también podemos hacer que utilice el protocolo ssh.

Es software libre, utiliza la licencia GNU General Public License.

 

Instalación de rsync

La instalación en sistemas GNU/Linux y tipo Unix es bastante sencilla, de hecho, en muchas distribuciones ya viene preinstalado.

En sistemas basados en paquetes .DEB (Debian, Ubuntu, LinuxMint entre otros)

1
apt-get -y install rsync

En sistemas basados en paquetes .RPM (Red Hat, CentOS, Fedora entre otros)

1
yum install rsync

En Suse y OpenSuse

1
zypper install rsync

En Arch

1
pacman -S rsync

En FreeBSD

1
pkg install rsync

 

Opciones principales

Un ejemplo básico sería el siguiente:

1
rsync -av /home/usuario /copiaseguridad

Veamos los parámetros que hemos utilizado.

  • Con -a copiamos recursivamente además de mantener los privilegios, permisos y fecha de creación.
  • Con -v, es decir, modo verbose, visualizamos los ficheros que vamos copiando.

Si queremos que la información que transferimos sea comprimida, para así ahorrar ancho de banda, sería así:

1
rsync -avz /home/nuestrousuario /copiaseguridad

Explicamos el nuevo parámetro:

  • Con -z, hacemos que los ficheros se transfieran de manera comprimida.

Si deseamos transferir los ficheros usando ssh entre nuestro equipo y otro remoto, lo haríamos de la siguiente manera:

1
rsync -rtvz nuestracarpeta/ usuario@dominio:/destino

Tenemos dos parámetros nuevos:

  • Con -r indicamos que es de forma recursiva
  • Con -t preservamos el tiempo de modificación de los archivos.

Imaginemos que queremos copiar usando rsync nuestra carpeta /home/usuario pero no que copia la subcarpeta “Descargas”, ¿Cómo lo haríamos?

1
rsync -rtv --exclude 'directorio' folder-origen/ folder-destino/

Tenemos un nuevo parámetro:

  • Usando –exclude podemos excluir las carpetas que nos interese copiar.

Si fuese un fichero:

1
rsync -rtv --exclude 'file.txt' folder-origen/ folder-destino/

Más adelante podremos ver cómo sincronizar carpetas e incluso proyectos web ubicados en diferentes servidores. ¡Estad atentos! : )

Os dejo dos fabulosos enlaces donde tratan rsync con profundidad:

Sincronizando carpetas con rsync

Página man de rsync (en inglés)

Nos vemos pronto!!

See you soon!!

You may also like...

5 Responses

  1. tannhausser dice:

    Muy bueno el aporte! De eses programas que siempre hay que tener a mano.

    Con un backup a tiempo siempre se duerme más tranquilo xD

    Saludos colega!

  2. DamiánLD dice:

    Buen artículo y bien explicado.

  3. Josan dice:

    Hola! Me ha venido muy bien para empezar a programar backups y despreocuparme un poco.

    Me gustaría preguntarte si con rsync existe la opción de mantener un backup realizado en tres (o cualquier otra)fechas diferentes.
    Seria para programar cada viernes un backup, y que existiera copia de seguridad de las tres semanas anteriores.
    No se si me explico.

    El asunto de borrarla con la entrada “Borrado de ficheros de backup antiguos” que nos publicaste creo que conseguiría la parte de mantener los que deseara.

    Gracias !!

Deja un comentario

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

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR