Respaldando con rsync
Enviado por jjcalvo • 27 de Octubre de 2012 • 2.215 Palabras (9 Páginas) • 243 Visitas
Respaldando con rsync
rsync es una herramienta para respaldar y sincronizar archivos. (Puede ejecutarse en
muchas variedades de *nix).
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 sidux puede seleccionar cómo iniciar el proceso: desde la línea de comandos, o a
través de un paquete deb en Debian sid:
apt-get install luckybackup
Para el paquete deb:
Página web de luckybackup.
Lo que sigue aquí es la versión de línea de órdenes
Lo siguiente le dará un conocimiento funcional de las capacidades de rsync, y algunos
ejemplos de código para usar en un script propio de respaldo.
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.
cuando el rsync ha terminado de preparar la lista que va a utilizar, la copia de estos
archivos cambiados es realizada mucho más rápidamente a causa de una rutina de
compresión realizada durante el copiado. El rsync comprime antes de enviar y
descomprime en el destino, 'sobre la marcha'.
rsync puede copiar archivos desde:
* sistema local a otro sistema local,
* sistema local a un sistema remoto,
* sistema remoto a un sistema local.
Se utiliza el cliente, ssh de forma preseleccionada, o a través de un daemon rsync que se
ejecuta tanto en el sistema local como en el remoto. Las páginas man dicen que si puede
usar ssh en el sistema, entonces rsync también puede usar ssh.
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.
neo --el sistema local
Para darle un ejemplo, digamos que tenemos tres sistemas;
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 queprincipalusado como 'fuente' para los otros dos sistemas. Además, estará
debe ser de neo es cuddles,
el usuario
ejecutando el principalrsync en el sistematartie, y
el usuario comando de morpheus es local solamente, que es el 'neo':
el usuario principal de trinity es taylar
El área /home/cuddles/Data de neo copiado a morpheus y trinity,
Entonces, /home/tartie/Data de morpheus a neo y trinity, y
el área lo que necesita hacer es copias de seguridad o sincronización de los siguientes:
el área /home/taylar/Data área de trinity a neo y morpheus.
El problema de rsync de no poder copiar de un sistema remoto a otro sistema remoto
surge --> morpheus --bien, es de respaldar trinity a morpheus, o de morpheus a trinity
cuando llegamos al punto local a remoto
neo
(los dos sistemas fuente y destino son remotos) por ejemplo:
neo --> trinity --bien, es local a remoto
morpheus --> neo --bien, es remoto a local
trinity --> neo --bien, es remoto a local
morpheus --> trinity --remoto a remoto --no funciona
trinity --> morpheus --remoto a remoto --no funciona
Para resolver esta limitación, necesita cambiar un poco&elneo --> trinity Lo siguiente
esquema de rsync.
morpheus --> trinity --será: morpheus --> neo
haría esto;--> morpheus --será: trinity
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.
Utilizando hostnames con hostnames con rsync.
Como hemos descrito arriba, usar neo, morpheus o trinity en lugar de sus direcciones IP
físicas es un método limpio y fácil para hacer las cosas más fáciles de leer y entender.
Poder utilizar la sintaxis nombre de máquina a nombre de máquina con rsync es fácil de
hacer.
Necesitará editar el archivo /etc/hosts y agregar los hostnames y las direcciones IP
correspondientes. Aquí está una pequeña porción de las primeras líneas del
192.168.1.15
neo
archivo /etc/hosts, mostrando las traducciones:
192.168.1.16
morpheus
192.168.1.17
trinity
La primera línea traduce la dirección IP 192.168.1.15 al nombre de 'neo', la segunda
traduce 192.168.1.16 al nombre 'morpheus', y la tercera traduce la dirección IP
192.168.1.17 al nombre 'trinity'. Después de agregar lo de arriba y guardar el /etc/hosts,
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
...