11 ejemplos prácticos del comando de Linux rsync para sincronizar los datos
Rsync es conocido como " sincronización remota ".
El comando rsync es usado para compartir y sincronizar datos (archivos y directorios) de una ubicación a otra ubicación.
También se utiliza para la operación de copia de seguridad en máquinas UNIX / Linux. En este artículo vamos a ver 11 ejemplos prácticos del comando rsync 11 en Linux.
Características
de comando rsync:
§ Es más seguro.
§ No requiere privilegios de root para instalar y
ejecutar rsync.
§ Es compatible para copiar enlaces, dispositivos, propietarios, losgrupos y permisos
§ Excluir y excluir, desde opciones similares a GNU
tar
§ rsync permite la encriptación de datos utilizando
el protocolo SSH durante la transferencia.
§ Se puede utilizar cualquier shell remoto
transparente, incluyendo ssh o rsh
§ Tuberias de diferentes tipos de transferencias de
archivos o directorios para reducir al mínimo los costos de latencia.
§ El apoyo a los demonios rsync anónimos
§ Rsync consume menos ancho de banda.
§
Instalar
el comando rsync:
# sudo apt-get install rsync
sintaxis
básica:
#
Rsync <opciones> <origen> <destino>
§ r
- recursiva
§ v
- verbosa
§ l
- transferir todo tipo de enlaces simbólicos encontrados
§ h - legible por humanos
§ p
- visualizar el progreso durante la transferencia
§ e
- especificar el uso de shell remoto
§ un
- modo de archivo
§ z
- comprimir los datos de archivo
§ O
- preservar la propiedad
§ g
- preservar los grupos
§ t
- preservar las marcas de tiempo
§ D
- conservar dispositivos de bloque y de carácter
§ d
- árbol de directorio se crea en el destino
¿Qué es el comando de Linux rsync ..?
Rsync es un comando, que se utiliza para
sincronizar los datos de un directorio a otro directorio dentro de la máquina
local y del cliente al servidor. Rsync considera a la máquina local como
cliente y como servidor a la máquina remota.
1. Sincronización
desde un directorio a otro directorio dentro de la máquina local
Para copiar / sincronizar directorios con en el
anfitrión local podemos hacer uso de la orden de ejemplo a continuación.
El
ejemplo de arriba copiará sólo el patrón * .txt del directorio / rsynctest
al directorio / tmp /
el ejemplo de arriba copiará un conjunto de datos
y se crea un directorio en el directorio remoto porque no utilizamos barra
final / después del nombre del directorio. Si usamos una barra final
después del nombre del directorio no va a crear el directorio en la ruta remota
y sólo copia los archivos de la fuente
# ls / tmp /
file10.txt
file5.txt rsynctest
2. Sincronizar
datos de directorio en la máquina remota
Esto sería transferir todos los archivos que
coinciden con el patrón * .doc del
directorio actual al directorio / tmp / en la máquina con la dirección 192.168.4.200 . Si
alguno de los archivos ya existen en el sistema remoto, el protocolo de
actualización remota de rsync actualizará los archivos mediante el
envío solamente de las diferencias.
# rsync tv /rsynctest/*.doc 192.168.4.200:/tmp/
133 bytes enviados recibieron 12 bytes
96.67 bytes / seg
tamaño total es de 0 aceleración es
0,00
3. Copiar los datos al host remoto con
compresión
Para comprimir los datos a enviar tenemos que
utilizar la opción 'z' , junto con 11 comando rsync.
Veamos un ejemplo a continuación
4. Sincronizar
datos desde el host remoto a la máquina local
No sólo se puede sincronizar los datos de máquina local
a la máquina remota. también podemos hacer en forma inversa simplemente sincronizar los datos de la máquina remota a la máquina local véase este ejemplo:
Vemos que la sincronización
de datos se ha hecho desde la máquina remota 192.168.4.200 al directorio / root
/ de la máquina local. Aquí hemos dado primero la ruta (Fuente) a la máquina
remota y el destino la máquina local.
5. No sobrescribir archivos en la ruta de destino
En algunos casos después que los archivos de destino han sido modificados o actualizados con los últimos datos, no queremos sobrescribir con datos antiguos. Para ello
tenemos que utilizar la opcion -u junto
con el comando rsync
Antes de la actualización que ha modificado un
archivo llamado file1.txt con un texto en el destino
# cat file1.txt
Los datos de prueba no se actualizan
Ahora se sincronizan y comprobamos si los datos se han sobreescrito o no
Después de la sincronización vemos el estado
de los datos. Nada se ha cambiado quedaron 100% intactos.
#cat file1.txt
Los datos de prueba no se actualizan
6. Ver el
progreso de Rsync al sincronizar
Hasta ahora en todos los comandos rsync
anteriores no hemos visto ningún progreso mientras copia está en marcha,
ahora vamos a ver progreso de la copia para que sepamos la cantidad de copias
que se han hecho. Simplemente hay que añadir la opción -progress que
mostrará información sobre el progreso de la copia actual.
7. Eliminar los
archivos de destino que no son necesarios (archivos que no existen en la fuente)
Esta es una buena idea para mantener intacto los archivos de origen y destino esto es muy útil cuando se desea hacer copia exacta
de la fuente
Antes de comando rsync, estos son los archivos en el origen
Ejecute el comando rsync con la opción de borrar
los archivos de destino -delete
Después
de que rsync ha tenido éxito se consulta el destino
8. Comprobar cambios entre origen y
destino
Esta
opción le ayudará en la comparación de los archivos y observar los cambios. Vamos
a ver cómo esta increíble opción del comando rsync funciona para nosotros
Como
vemos origen y el destino tiene cambios en archivos document4.doc y document7.doc antes de los nombres de archivo podemos ver los uno símbolos a la derecha, esto es lo que significan
§ f = Esto es un archivo
§ o = propiedad ha cambiado
§ g = Propiedad del Grupo cambió
§ s = variación de tamaño
§ t = Tiempo cambió
al usar la opción -i se sincronizarán los
archivos desde el origen al destino y se realizan los cambios en el destino
9. Sólo comprobar
los cambios en entre origen y destino antes de la sincronización
Si usted tiene miedo de ejecutar el comando rsync
en su entorno no se preocupe aquí hay un ejemplo donde se puede comparar los
cambios antes de ejecutar el comando rsync
Como en el ejemplo anterior he utilizado la opción -dry que nos dirá los cambios en el destino. El archivo Document7.doc tiene cambios es por eso que se muestra enviar y recibir bytes mientras que el archivo document4.doc no tiene ningúno al comparar los cambios desde la fuente por eso enviar y recibir tiene cero bytes.
10. Evitar la
transferencia de archivos de gran tamaño
En algunos de los casos que no queremos para
transferir / copiar / sincronizar archivos muy grandes al destino en tal caso
también tenemos una opción para detener la transferencia de archivos muy grandes.
De acuerdo con la opción del comando anterior es
copiar los archivos que no son más de 1000KB en tamaño. A continuación los
archivos de más de 1000KB de tamaño se quitaran es por eso que no se copian
en el destino.
11. Enviar archivos tal cual
Con la opción delta-transfer del algoritmo de rsync todo el archivo se envía tal cual. La
transferencia puede ser más rápida si se utiliza esta opción cuando el ancho de
banda entre las máquinas de origen y de destino es mayor que el ancho de banda
en el disco (especialmente cuando el "disco" es en realidad un
sistema de ficheros en red). Este es el valor por defecto cuando tanto el
origen y el destino se especifican como caminos locales, pero sólo si no hay
opción de proceso por lotes. A continuación se
muestra el ejemplo.
0 comentarios:
Publicar un comentario