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!!

12 Respuestas

  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 !!

  4. Gabriel dice:

    Muy buena explicación, pero me queda una duda: ¿Con Rsync es posible clonar discos o particiones enteras?

    • Jimmy Olano dice:

      Interesante pregunta, precisamente estoy leyendo un proyecto hecho con Python y rsync, tal vez sea útil (inutilizo el enlace, quitad los espacios):

      http s: // pypi .org/project/ rsync-system-backup/

  5. Jimmy Olano dice:

    Claro, directo y al grano, ¡buen trabajo!

    Retribuyo de la siguiente manera: si el equipo remoto tiene SSH con un puerto de escucha diferente, por ejemplo «XX», deberemos incluir el siguiente parámetro a rsync:

    –rsh=’ssh -p XX’

    ¡Gracias por vuestra atención!

  1. 2 septiembre, 2017

    […] 100% libre destinado a músicos, técnicos de sonido, DJs, cineastas, diseñadores… Rsync es una aplicación de software libre, que nos permite copiar archivos de manera cifrada y […]

  2. 7 septiembre, 2018

    […] Haz backups de manera regular. Esto puede parecer un plomazo pero puede salvarte. Existen varias maneras de hacer respaldos: puedes tenerlo en una partición o en un disco extenor, de manera manual o con un sistema incremental. ¿Incremenqué? Incremental, es decir que se respaldan únicamente los archivos nuevos o aquellos que han sido modificados. Puedes aprender a hacerlos aquí. […]

  3. 9 mayo, 2019

    […] Copias de seguridad con Rsync […]

  4. 18 diciembre, 2019

Deja un comentario

This site uses Akismet to reduce spam. Learn how your comment data is processed.