Professional Documents
Culture Documents
Una limitación de rsync es que NO puede copiar de un sistema remoto a otro sistema
remoto. Si necesita hacer esto, tendrá que copiar uno de los remotos a un sistema local, y
entonces copiarlo del local al otro sistema remoto. Esto es una limitación del rsync.
Con aptosid puede seleccionar cómo iniciar el proceso: desde la línea de comandos, o a
través de un paquete deb en Debian sid:
rsync es un programa para hacer copias de seguridad muy fácil de utilizar, que puede
respaldar archivos y directorios rápidamente. Esto se logra a través de una rutina muy
inteligente para detectar cuándo los archivos han cambiado para que solamente estos
archivos sean seleccionados para copiar. El rsync también utiliza una utilidad de
compresión para agilizar el proceso de copiado (cuando es lanzado con la opción -z
especificada). Esto puede ser explicado muy sencillamente:
El programa rsync detecta archivos y carpetas que necesitan ser copiados porque uno o
más de sus atributos han cambiado (por ejemplo, la fecha/hora de la última modificación, o
el tamaño del archivo), en cualquier caso, algo ha cambiado desde el último respaldo. Este
proceso de selección es muy rápido.
Una limitación de rsync es que NO puede copiar de un sistema remoto a otro sistema
remoto. Si necesita hacer esto, tendrá que copiar uno de los remotos a un sistema local, y
entonces copiarlo del local al otro sistema remoto. Esto es una limitación del rsync.
…sidux.com/es/sys-admin-rsync-es.htm 1/6
01/10/2010 Manual de aptosid - RSYNC
neo --el sistema local
morpheus --un sistema remoto
trinity --otro sistema remoto
Supongamos que desea utilizar rsync para copiar o sincronizar las carpetas
/home/[user]/data de todos los sistemas en los otros. Cada sistema tiene un dueño
específico, en otras palabras, un usuario distinto utiliza cada sistema específicamente, y por
eso es aquel sistema el que debe ser usado como 'fuente' para los otros dos sistemas.
Además, estará ejecutando el comando rsync en el sistema local solamente, que es el
'neo':
Para resolver esta limitación, necesita cambiar un poco el esquema de rsync. Lo siguiente
haría esto;
morpheus --> trinity --será: morpheus --> neo & neo --> trinity
trinity --> morpheus --será: trinity --> neo & neo --> morpheus
Es un paso extra, obviamente, pero considerando que desea llevar los archivos también a
neo, es solamente un cambio del origen de la fuente y no cambiará el resultado final. Así
nuestro respaldo será bueno y no faltará nada.
Deberá tener en cuenta esta limitación de rsync cuando diseñe el proceso de respaldo.
192.168.1.15 neo
192.168.1.16 morpheus
192.168.1.17 trinity
…sidux.com/es/sys-admin-rsync-es.htm 2/6
01/10/2010 Manual de aptosid - RSYNC
puede utilizar el nombre en vez de la dirección IP o puede seguir utilizando la dirección IP.
Lo que hace esto realmente brillante es cuando cambia la dirección IP. Para darle un
ejemplo, vamos a suponer que la dirección IP de neo ha cambiado de 192.168.1.15 a
192.168.1.25
Si tiene todos los scripts usando la dirección IP actual, tendrá que ubicarla en todos y
cambiarlos a la nueva dirección. Pero si, de otra manera, en todos los scripts usa el
'nombre', lo único que tendrá que hacer es cambiar el archivo /etc/hosts para reflejar este
cambio y todos los scripts seguirán funcionando. Esto puede ser muy útil cuando tiene
muchos scripts para conexiones remotas a otros sistemas, o viceversa. El método de
'nombres' también hace que los scripts sean más fáciles de leer y seguir porque está
usando un nombre reconocible asociado a la dirección IP en vez de una cadena de
números.
'push' (empujar) - el sistema local tiene los archivos y directorios de fuente u origen
(source) en él, y la localización destinaria es un sistema remoto. El comando rsync es
ejecutado en el sistema local, y 'empuja' sus archivos al sistema destinario (target).
Ventajas:
* Es posible tener más de un sistema respaldándose a un sistema destinario.
* El proceso de respaldo es distribuido sobre los sistemas de computación y no solamente
un sistema haciendo todo el trabajo.
* Si un sistema es más veloz que otro, puede terminar antes de los demás y seguir con
otras tareas.
Desventajas:
* Si esta usando un script y programándolos con el 'cron', necesitará actualización y el
cambio de múltiples 'crontabs' en cada sistema, además de actualizar las versiones
múltiples del script.
* El respaldo no puede verificar si el sistema remoto tiene la partición destinaria montada,
por lo que puede no estar respaldando nada.
'pull' (tirar, halar) -- el sistema remoto tiene los archivos y directorios fuente u origen y el
sistema destinario está en el sistema local. El comando rsync se ejecuta en el sistema local
y 'tira' (pulls) los archivos desde el sistema fuente u origen.
Ventajas:
* Un sistema es convertido en el servidor, controlando todos los respaldos para todos los
demás sistemas. Es un respaldo centralizado.
* Si está usando un script éste está contenido en un sólo sistema y es un solo script, lo que
facilita sus actualizaciones y modificaciones.
* El script puede verificar, y montar si es necesario, la partición destinaria.
La sintaxis de rsync, como está descrita en las páginas man: (SRC = Fuente)
rsync [OPCION]... SRC [SRC]... DEST
…sidux.com/es/sys-admin-rsync-es.htm 3/6
01/10/2010 Manual de aptosid - RSYNC
rsync [OPCION]... SRC
/media/sda7/SysBackups/morpheus/home/tartie...
Hay que notar que la única razón por la que /tartie es ubicado en /home es por su
designación como destinario y NO desde la fuente. La 'fuente' (SRC) solamente
selecciona de dónde vienen los archivos, no a donde van. El destinario es lo que dice a
rsync dónde debe poner los archivos que recibe de la fuente (SRC). Consideremos el
siguiente ejemplo:
Siempre tenga esto en consideración cuando esté creando los comandos de respaldo con el
rsync.
Este comando respalda todos los archivos y todas las carpetas y sus contenidos por debajo
de /home/tartie en el sistema de nombre 'morpheus', y los coloca en el directorio
/media/sda7/SysBackups/morpheus/home – dejando fuera la estructura del árbol del
directorio /tartie.
Este comando es el contrario del anterior, 'empuja' (push) el directorio /home/tartie y todo
su contenido y subdirectorios hacia el sistema nombrado neo en la mismo carpeta --tome
nota de que un sistema se considera remoto cuando tiene dos puntos ':' (colon) al frente de
la ruta.
Este comando realiza un respaldo local hacia un sistema local; note que no existe ningún ':'
(colon) ni en la fuente ni en el destinario. Este comando respalda localmente el área
/home/cuddles hacia la misma área en el mismo sistema:
/media/sda7/SysBackups/neo/home.
…sidux.com/es/sys-admin-rsync-es.htm 5/6
01/10/2010 Manual de aptosid - RSYNC
rsync -agEvz --delete-after --exclude='*~' --exclude='*.c' --
exclude='*.o' '/*' /media/sda7/SysBackups/neo
Este comando respalda TODO desde la raíz del sistema local con todos sus
archivos/directorios y lo coloca en la ubicación destinaria: /media/sda7/SysBackups/neo –
pero ahora se excluye cualquier archivo o directorio que termine con '~', '.c' ó '.o'
A continuación viene un ejemplo de un comando rsync que debe dar error y debe ser
evitado en lo posible. Es un ejemplo de un comando ilegal para rsync al intentar respaldar
directo de un sistema remoto a otro sistema remoto:
Como dijimos anteriormente, no tiene que usar necesariamente los nombres traducidos
pero, como puede ver en el primer ejemplo, es más claro leer y entender lo que la orden va
hacer que en el segundo.
Ahora ya debe ser capaz de diseñar un comando básico a partir de los ejemplos dados
aquí, o a través de una mezcla y combinación de las opciones con los comandos para
conseguir el efecto y la acción deseada.
…sidux.com/es/sys-admin-rsync-es.htm 6/6