cómo utilizar rsync para copias de seguridad de datos en Linux

rsync es un protocolo construido para sistemas tipo Unix que proporciona una versatilidad increíble para hacer copias de seguridad y sincronizar los datos. Se puede usar en forma local para almacenar los archivos a diferentes directorios o se puede configurar para sincronizar a través de Internet a otras máquinas.

Puede ser utilizado en los sistemas Windows, pero sólo está disponible a través de varios puertos (como Cygwin), por lo que en este how-to vamos a estar hablando de su puesta en marcha en Linux. En primer lugar, necesitamos instalar / actualizar el cliente rsync. En distribuciones Red Hat, el comando es “yum install rsync” y en Debian es “sudo apt-get install rsync.”

El comando de Red Hat / CentOS, después de iniciar sesión como root (tenga en cuenta que algunas distribuciones recientes de Red Hat admiten el método sudo).

El comando en Debian / Ubuntu.

En la primera parte de este tutorial, vamos a copias de seguridad de los archivos de Directorio1 a Directorio2. Ambos de estos directorios están en el mismo disco duro, pero esto funcionaría exactamente lo mismo si los directorios existían en dos unidades diferentes. Hay varias maneras diferentes que podemos abordar esto, dependiendo de qué tipo de copias de seguridad que desea configurar. Para la mayoría de los propósitos, será suficiente la siguiente línea de código

$ Rsync -av –delete / Directorio1 / / Directorio2 /

El código anterior sincronizar los contenidos de Directory1 a Directorio2, y dejar sin diferencias entre los dos. Si encuentra que rsync Directorio2 tiene un archivo que Directorio1 no lo hace, lo eliminará. Si rsync encuentra un archivo que ha sido modificado, creado o eliminado en Directorio1, reflejará esos mismos cambios en Directorio2.

Hay un montón de diferentes interruptores que se pueden utilizar para rsync para personalizarlo según sus necesidades específicas. Esto es lo que el código antes mencionado indica a rsync que ver con las copias de seguridad

1. -a = recursiva (recursivamente en directorios), enlaces (enlaces simbólicos copia como enlaces simbólicos), permanentes (Preservar los permisos), horas (preservar tiempos de modificación), grupo (grupo preserve), dueño (preservar propietario), preservar los archivos de dispositivos, y preservar los archivos especiales;. 2. -v = detallado. La razón por la que creo que es importante es prolijo para que pueda ver exactamente lo que rsync está dando marcha atrás. Piense en esto: ¿Qué pasa si el disco duro va mal, y se inicia la eliminación de archivos sin su conocimiento, a continuación, se ejecuta la secuencia de comandos rsync y empuja esos cambios para las copias de seguridad, eliminando de ese modo todas las instancias de un archivo que usted no desea conseguir deshacerse de;? 3. -delete = Esto le dice a rsync para eliminar todos los archivos que se encuentran en Directorio2 que no están en Directorio1. Si usted elige utilizar esta opción, recomiendo también el uso de las opciones detallado, por las razones mencionadas anteriormente.

Utilizando el script de arriba, aquí está la salida generada por el uso de rsync para Directorio1 copia de seguridad para Directorio2. Tenga en cuenta que sin el modificador detallado, que no desea recibir dicha información detallada.

La imagen anterior nos dice que File1.txt y File2.jpg se detectaron, ya sea como ser nuevo o modificado de otra forma de lo existente copias en Directorio2, por lo que fueron respaldados. Noob punta: Observe la barra final al final de los directorios en mi comando rsync – los que son necesarios, asegúrese de recordar.

Vamos a repasar algunos interruptores más práctico hacia el final de este tutorial, pero sólo recuerda que para ver una lista completa puede escribir “hombre rsync” y ver una lista completa de los conmutadores para su uso.

Eso lo cubre por lo que las copias de seguridad locales se refiere. Como se puede decir, rsync es muy fácil de usar. Se pone un poco más compleja cuando se la usa para sincronizar los datos con un host externo a través de Internet, pero le mostrará una manera simple, rápida y segura de hacer eso.

rsync se puede configurar de varias maneras diferentes para copias de seguridad externas, pero vamos a ir por encima del (también el más fácil y más seguro) método más práctico de rsync un túnel a través de SSH. La mayoría de los servidores e incluso muchos clientes ya tienen SSH, y que se pueden utilizar para las copias de seguridad rsync. Le mostraremos el proceso de conseguir una máquina Linux para copia de seguridad a otro en una red local. El proceso sería exactamente el mismo si un host estaban fuera en el Internet en algún sitio, tenga en cuenta que el puerto 22 (o cualquier puerto que tiene SSH configurado en), tendría que ser transmitido en cualquier equipo de la red en el lado del servidor de las cosas.

En el servidor (el equipo que va a recibir las copias de seguridad), asegúrese de que SSH y rsync se instalan.

# Yum -y install rsync ssh

# Sudo apt-get install ssh rsync

Aparte de la instalación de SSH y rsync en el servidor, todo lo que realmente hay que hacer es configurar los repositorios en el servidor donde desea que los archivos de copia de seguridad, y asegurarse de que SSH está bloqueado. Asegúrese de que el usuario que va a utilizar tiene una contraseña compleja, y también puede ser una buena idea para cambiar el puerto que escucha en SSH (por defecto es 22).

Vamos a ejecutar el mismo comando que hicimos para el uso de rsync en un equipo local, sino que incluyen las adiciones necesarias para rsync a través de un túnel SSH a un servidor en mi red local. Para el usuario “friki” conectar a “192.168.235.137” y utilizando los mismos interruptores que el anterior (-av -delete) vamos a ejecutar el siguiente

$ Rsync -av -delete -e ssh / Directorio1 / experto@192.168.235.137: / Directorio2 /

Si usted tiene SSH escucha en un puerto distinto de 22, lo que tendría que especificar el número de puerto, como en este ejemplo donde utilizo el puerto 12345

$ Rsync -av -delete -e ‘ssh -p 12345’ / Directorio1 / experto@192.168.235.137: / Directorio2 /

Como se puede ver en la imagen superior, la salida dada al dar marcha atrás a través de la red es más o menos lo mismo que cuando la copia de seguridad a nivel local, lo único que cambia es el comando que utilice. Observe también que pedirá una contraseña. Esto es para autenticar con SSH. Puede configurar las claves RSA para omitir este proceso, que también simplificará la automatización de rsync.

Cron se puede utilizar en Linux para automatizar la ejecución de comandos, como rsync. El uso de Cron, podemos tener nuestras copias de seguridad nocturnas Linux ejecutar el sistema, o con la frecuencia que le gustaría que se ejecuten.

Para editar el archivo de tabla de comandos para el usuario que ha iniciado sesión como, ejecutar

$ Crontab -e

Usted tendrá que estar familiarizado con vi con el fin de editar este archivo. Tipo “I” para insertar, y luego comenzar a editar el archivo de tabla de cron.

Cron utiliza la siguiente sintaxis: minuto de la hora, la hora del día, día del mes, los meses del año, día de la semana, el mando.

Puede ser un poco confuso al principio, por lo que te voy a dar un ejemplo. El siguiente comando se ejecutará el comando rsync cada noche a las 10 pm

0 22 * ​​* * rsync -av –delete / Directorio1 / / Directorio2 /

El primer “0” especifica el minuto de la hora, y “22” especifica las 10 pm. Como queremos que este comando se ejecute todos los días, vamos a dejar el resto de los campos con asteriscos y luego pegar el comando rsync.

Después de que haya finalizado la configuración de Cron, presione escape, y luego escribe “: wq” (sin las comillas) y pulse Enter. Esto guardará los cambios en VI.

Cron puede conseguir mucho más profundo que esto, pero para seguir hablando de que sería más allá del alcance de este tutorial. La mayoría de la gente sólo quiere una copia de seguridad semanal o diaria simple, y lo que hemos demostrado que puede conseguir fácilmente que. Para obtener más información sobre Cron, consulte las páginas del manual.

Otra cosa útil que puede hacer es poner las copias de seguridad en un archivo zip. Tendrá que especificar dónde desea que el archivo zip para ser colocado, y luego rsync directorio a un directorio de copia de seguridad. Por ejemplo

$ Postal /ZippedFiles/archive.zip / Directorio1 / && rsync -av –delete / ZippedFiles / / Directorio2 /

El comando anterior toma los archivos de Directorio1, los pone en /ZippedFiles/archive.zip y luego rsyncs ese directorio para Directorio2. Inicialmente, usted puede pensar que este método resultaría ineficiente para grandes copias de seguridad, teniendo en cuenta el archivo zip cambiará cada vez que se hace la más mínima alteración en un archivo. Sin embargo, rsync sólo transfiere los datos cambiados, así que si su archivo zip es de 10 GB, y luego se añade un archivo de texto para Directorio1, rsync sabrá que es todo lo que agregó (a pesar de que está en una postal) y transferir sólo los pocos kilobytes de los datos modificados.

Hay un par de maneras diferentes que puede cifrar las copias de seguridad rsync. El método más fácil es instalar el cifrado en el propio disco duro (el que los archivos se están copiando a). Otra forma es para cifrar los archivos antes de enviarlos a un servidor remoto (u otro disco duro, lo que sea que se esté dando marcha atrás a). Vamos a cubrir estos métodos en artículos posteriores.

Sea cual sea opciones y características que elija, rsync resulta ser una de las herramientas de copia de seguridad más eficientes y versátiles hasta la fecha, e incluso un simple script de rsync puede salvarlo de perder sus datos.

excelente artículo. Mantenerse al día con el buen trabajo!

¡Excelente! He estado esperando un buen Linux de cómo hacerlo. También es agradable que incluya instrucciones para ambos sistemas basados ​​en Red Hat y Debian. Rsync es increíble. Yo uso rsnapshot su derivado para copias de seguridad locales y remotas;. Este es un gran tutorial para principiantes, espero que el siguiente tutorial intermedio.

Además de ser útil para copias de seguridad, sino que también es muy útil para las conexiones de baja calidad. No sólo se comprimen antes de copiar, pero si la copia se realiza parcialmente y falla, ejecute de nuevo, y va a continuar donde lo dejó, terminando el trabajo muy bien.

Más…

Sólo la guía que estaba buscando, gracias y sigan con el buen trabajo!

¿Hay una manera de sincronizar los dos directorios, por lo que dicen Directorio 1 tiene el archivo A y el Directorio 2 tiene el archivo B, puede configurarlo para que sincronice donde terminaría con Directorio 1 que tiene A y B y el Directorio 2 que tiene A y B?

¿Se puede hacer un tutorial sobre Cygwin y algunos de los beneficios y características en Windows ?.

He utilizado DeltaCopy que no se basa en Cygwin para Windows rsync; http: //www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

guía genial, no estoy demasiado techno mente así que utilizo para mis backupbranch copias de seguridad rsync porque todo configurado para mí.

@ Marty331 puede utilizar “al unísono” (http://www.cis.upenn.edu/~bcpierce/unison/) en este caso

Esta es la razón por Linux sigue siendo para los frikis. ¿Línea de comando? ¿Dónde está la interfaz gráfica de usuario?

Si usted no quiere aprender la línea de comandos (en realidad es divertido para algunos) y luego use su Grsync un simple, interfaz GUI agradable. “En Linux siempre hay una respuesta o alguien va a crear una” eso es lo que hace grande.

Buen artículo. He hecho una copia de seguridad de mis datos (incluidas las particiones NTFS con rsync durante 5 años. Pero cuando empecé a usar Linux que utiliza Grsync, la interfaz gráfica de usuario de rsync, hasta que me sentí más cómodo con la línea de comandos. El terminal en Linux y comandos propmpt en Windows es bien vale la pena el esfuerzo de aprender porque se puede fijar cualquier máquina y ponerlo en marcha con el símbolo del terminal y de comandos. la mayoría de la gente tiene miedo de él y dicen que es confuso, pero es como cualquier otra cosa nueva. es sólo diferente o desconocido.

Rsnapshot es una ‘capa’ ordenada en la parte superior de rsync. Primera sincronización es normal, entonces cada uno de sincronización sucesivas crea enlaces a los anteriores, el ahorro de espacio para los archivos no modificados. Hechos como Apple de “Time Machine” o relacionados. Tenga cuidado cuando se trabaja con sistemas de archivos, ya que no todos los objetivos apoyan los enlaces duros (FAT32 – un estándar de unidades USB y externos, por ejemplo).

Es aún disponibles en Cygwin, para que pueda hacer las máquinas de Windows a Windows o Linux a una máquina externa.

Una vez instalado alguna pequeña secuencia de comandos para la máquina de Windows de mi padre para funcionar como una tarea programada – cada cuatro horas que se trataría de una copia de seguridad de sus directorios de perfil (appdata, mis documentos, escritorio, música, imágenes) a mi linux máquina virtual a través de Internet . La secuencia de comandos en primer lugar matar a todas las instancias previas de rsync, a continuación, iniciar una nueva. Finalmente he mudado a un ejemplo de línea de comandos de WinSCP, ya que tenía mejores controles para mí.

rsync es fantástico cuando se desea un espejo, pero terrible si desea que las copias de seguridad eficientes.

Las copias de seguridad deben ser; * automático; * versionado; * en diferentes medios de comunicación, muy lejos; * red eficiente; * almacenamiento eficiente; * cifrado en tránsito y en el disco

rdiff de reserva de mi herramienta de elección para mí copias de seguridad de Linux. rdiff-copia de seguridad utiliza librsync al igual que rsync. De hecho, las opciones de comando rdiff-copia de seguridad son muy similares a las opciones de rsync. Un simple comando rdiff-copia de seguridad sería

$ Usuario rdiff-copia de seguridad remota @ :: / home / usuario / backups / $ a distancia /

Sencillo. Lo mejor de todo, la copia de seguridad actual se parece a un espejo, pero las versiones anteriores son altamente compresas y sólo las diferencias. Mantener 30-60 versiones es sólo un 10-15% más capacidad de almacenamiento para mis sistemas. Altamente eficiente. Más eficiente que rsync con enlaces duros (como RBackup utiliza).

En estos días en los sistemas de interfaz gráfica de usuario de Linux, los comandos de copia de seguridad son por lo general DejaDup o duplicidad o Duplicati. Estos son cada uno una gran herramienta, pero realmente tienen una fuerte preferencia por herramientas que no me hacen cazar a algún programa especial cuando necesito para restaurar un único archivo o un cualquiera de los SO. rdiff-copia de seguridad funciona para mí.

La escultura de bronce Bull de carga, más comúnmente conocido como el Toro de Wall Street, es una estatua icónica que se encuentra en el distrito financiero de Manhattan en New York City-la escultura fue colocada allí sin permiso, una forma de obra de la guerrilla, pero se ha convertido una parte tan importante de la imagen de Wall Street que ha permanecido inmóvil desde 1989.