Comando rsync para copias (backups) remotas

La necesidad

Hacer una copia de seguridad de los datos de mi pc local a un pc remoto el cual solo tiene el sistema operativo básico (nada de entorno gráfico) y bastante espacio libre en el disco duro.

Pero si lo hacia con scp demoraba demasiado, así que me obligue a buscar otra solución

El comando y las opciones

Según nuestra amiga la wikipedia

“Rsync es una aplicación para sistemas de tipo Unix que ofrece transmisión eficiente de datos incrementales comprimidos y cifrados. Mediante una técnica de delta encoding, permite sincronizar archivos y directorios entre dos máquinas de una red o entre dos ubicaciones en una misma máquina, minimizando el volumen de datos transferidos.”

Si deseas saber mas información sobre la aplicación puedes consultar en la wikipedia la información

El comando que utilice dice básicamente:

$ rsync -uarmzhP –delete –rsh=ssh –stats /local/dir user@ipremota:/remote/dir

Las opciones son:

-u : update

-a: archive mode

-r: recursive

-m: no envía los directorios vacíos

-z: comprime mientras transfiere (así se ahorra tiempo y ancho de banda)

-h: presentación para humanos

-P: muestra el progreso de la copia

–delete: borra en el destin0 los archivos que ya no estén en el origen

–rsh: especifica el shell remoto a usar (en este ejemplo ssh)

–stats: entrega alguna información por cada archivo que transfiere

Nota: las 3 ultimas opciones tienen dos guiones unidos (– –) por alguna extraña razón el blog me convierte los dos guiones en uno solo

Luego se coloca el directorio origen de la información (para el ejemplo /local/dir) y a continuación el usuario, símbolo de arroba y dirección ip de la máquina destino y también el directorio destino (user@ipremota:/remote/dir) estas opciones en la máquina destino se deben a que estamos usando ssh como protocolo de transferencia.

Por ultimo pide el passwd del usuario en la maquina destino y listo… comienza la copia.

Otra opción bastante poderosa es:

“–exclude-from=nofiles”

El archivo “nofiles” (puede ser cualquier nombre) es un archivo en el cual se colocan los archivos a no hacer backup, separados en líneas diferentes. Por ejemplo:

*.avi

*.mpg

*.mp3

Al ser tan complejo y poderoso se pueden colocar muchas otras opciones… puedes mirar el sitio web de rsync para encontrar más opciones y ejemplos. O también con man rsync se encuentran otras opciones.

2 comentarios sobre “Comando rsync para copias (backups) remotas

  1. Gracias master, por la info, es lo que buscaba, ahora solo me falta ver si se pone en crontab o se levanta como demonio.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s