Uso de rsync para sincronizar archivos
El propósito de este artículo es proporcionar una comprensión del uso de rsync
herramienta.
Rsync significa "sincronización remota" y es una herramienta eficiente para copiar y sincronizar archivos o directorios de forma local o remota. La eficiencia se logra moviendo solo aquellas partes de los archivos que han cambiado, en lugar de copiar todo de nuevo.
Uso
Sintaxis
El rsync
la sintaxis es realmente simple:
rsync [OPTIONS] SOURCE DESTINATION
Opciones
Las siguientes son algunas de las opciones más útiles para agregar a rsync
comando:
-v
o--verbose
:el indicador detallado mostrará información sobre el progreso de la tarea.-a
o--archive
:es igual a -rlptgoD. El indicador de archivo establece las opciones más comunes en lugar de configurarlas individualmente.
Las siguientes son las opciones configuradas con -a
que también se pueden configurar uno por uno:
-r
o--recursive
:se repite en directorios. Debe usarse cuando necesite copiar todo el contenido dentro de un directorio.-l
o--links
:copia enlaces simbólicos como enlaces simbólicos, no copia el archivo al que apuntan para evitar loopbacks a otros directorios.-p
o--perms
:conserva el permiso del archivo.-t
o--times
:conserva las marcas de tiempo de modificación originales.-g
o--group
:conserva la propiedad de los grupos de archivos.-o
o--owner
:conserva los propietarios de los archivos.-D
:conserva los archivos del dispositivo y los archivos especiales. Puede usar las opciones--devices
y--specials
para lograr esto.
Algunas otras opciones que se pueden utilizar son:
-progress
:muestra el estado de progreso por archivo.--max-size=SIZE
:evita la transferencia de archivos más grandes que el tamaño especificado.--min-size=SIZE
:evita la transferencia de archivos más pequeños que el tamaño especificado.
Rutas de origen y destino
Es importante tener en cuenta cómo se especifican las rutas de origen y destino, ya que una barra inclinada puede cambiar el comportamiento.
Por ejemplo, para copiar todo dentro de un directorio llamado /home
en otro llamado /new/destination/
el rsync
correcto la sintaxis sería:
rsync -a /home/ /new/destination
Para copiar el directorio para que una nueva carpeta llamada home
también se crea en el directorio de destino, la sintaxis sería:
rsync -a /home /new/destination
Tenga en cuenta que una sola barra después de /home
cambiará el resultado final.
Usando rsync con un host remoto
Cuando se tiene acceso SSH a un host remoto, es posible usar rsync
con una sintaxis muy similar. Para copiar el contenido del /home
directorio al /home/new
directorio en un host llamado REMOTE_HOST
un empuje se necesita operación. La sintaxis sería:
rsync -a /home USER@REMOTE_HOST:/home/new
Es posible recuperar archivos desde un host remoto a su máquina local usando rsync
con un tirón operación. La sintaxis es similar a la mencionada anteriormente, pero ahora el host remoto es la fuente:
rsync -a USER@REMOTE_HOST:/home/new /home
Conclusiones
Usando el rsync
La herramienta es una forma confiable y eficiente de sincronizar archivos entre directorios o hosts. Un comando de copia tradicional no conservaría todas las propiedades de los archivos y tomaría más tiempo ya que copia todo.
Con las opciones mencionadas en este artículo es posible determinar las propiedades que también se deben copiar y el rsync
El algoritmo reducirá el tiempo de la tarea copiando solo las diferencias entre el origen y el destino.
Artículos relacionados
- Copiar archivos con SCP y Rsync
- Haga una copia de seguridad de sus archivos con rsync