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:
-vo--verbose:el indicador detallado mostrará información sobre el progreso de la tarea.-ao--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:
-ro--recursive:se repite en directorios. Debe usarse cuando necesite copiar todo el contenido dentro de un directorio.-lo--links:copia enlaces simbólicos como enlaces simbólicos, no copia el archivo al que apuntan para evitar loopbacks a otros directorios.-po--perms:conserva el permiso del archivo.-to--times:conserva las marcas de tiempo de modificación originales.-go--group:conserva la propiedad de los grupos de archivos.-oo--owner:conserva los propietarios de los archivos.-D:conserva los archivos del dispositivo y los archivos especiales. Puede usar las opciones--devicesy--specialspara 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