Cómo usar rsync para copiar archivos y carpetas en Linux

Use estos ejemplos de rsync para aprender a copiar desde la línea de comandos rsync es un programa de transferencia de archivos para Linux que le permite copiar directorios y archivos con un simple comando.

Use estos ejemplos de rsync para aprender a copiar desde la línea de comandos

rsync es un programa de transferencia de archivos para Linux que le permite copiar directorios y archivos con un simple comando. El comando incluye opciones adicionales más allá de la función de copia tradicional.

Una de las características más útiles de rsync es que cuando lo usa para copiar directorios desde la línea de comandos, puede excluir archivos de manera sistemática. De esa manera, si está utilizando rsync para hacer copias de seguridad de archivos, puede hacer que solo haga una copia de seguridad de los archivos que desea archivar mientras evita todo lo demás.

Sintaxis de rsync

Usar el comando rsync correctamente requiere que sigas la sintaxis correcta:

 rsync [OPCIÓN] ... [SRC] ... [DEST] 
rsync [OPCIÓN] ... [SRC] ... [USUARIO @] HOST: DEST
rsync [OPCIÓN ] ... [SRC] ... [USUARIO @] HOST :: DEST
rsync [OPCIÓN] ... [SRC] ... rsync: // [USER @] HOST [: PUERTO]/DEST
rsync [OPCIÓN] ... [USUARIO @] HOST: SRC [DEST]
rsync [OPCIÓN] ... [USUARIO @] HOST :: SRC [DEST]
rsync [OPCIÓN ] ... rsync: // [USER @] HOST [: PORT]/SRC [DEST]

El espacio de opción proporcionado anteriormente se puede llenar con varios parámetros. Vea la sección RESUMEN DE OPCIONES de la documentación de rsync para obtener una lista completa, pero aquí hay algunos ejemplos comunes:

  • -v , –verbose : aumenta la verbosidad (proporciona más detalles sobre lo que está haciendo el comando).
    • –info=FLAGS : proporciona mensajes informativos detallados.
    • –debug=FLAGS : proporciona mensajes de depuración detallados.
    • –msgs2stderr : manejo de salida especial para depuración.
  • -q , –quiet : suprime los mensajes que no son de error.
    • –no-motd : suprime el mensaje del día en modo demonio (MOTD).
  • -c , –checksum : omite los archivos en función de la suma de comprobación, no del tiempo de modificación y el tamaño.
  • -r , –recursive : busque subdirectorios para archivos adicionales.
  • -b , –backup : Realice copias de seguridad.
    • –backup-dir=DIR : haga copias de seguridad en una jerarquía de directorios coincidente.
    • –suffix=SUFFIX : agrega texto de sufijo al final de los archivos respaldados.
  • -d , –dirs : transfiere solo directorios sin navegar dentro de ellos.

Ejemplos de rsync

Los siguientes son algunos ejemplos de cómo usar rsync con algunas de esas opciones.

En cada uno de estos ejemplos, el texto en negrita no se puede cambiar porque es parte del comando. Como puede ver, las rutas de carpetas y otras opciones están personalizadas para nuestros ejemplos específicos, por lo que serán diferentes cuando las use.

  rsync  /home/jon/Desktop/data/*.jpg/home/jon/Desktop/backupdata/

En este ejemplo anterior, todos los archivos JPG de la carpeta /data/ se copian en la carpeta /backupdata/ en la carpeta del escritorio Jon del usuario.

Copiar archivos según el tamaño

  rsync --max-size =  2k/home/jon/Desktop/data// home/jon/Desktop/backupdata/

Este ejemplo de rsync es un poco más complicado ya que está configurado para no copiar archivos si son más grandes que 2,048 KB. Es decir, copiar solo archivos más pequeños que el tamaño indicado.

Puede usar k, m, o g para indicar kilobytes, megabytes y gigabytes en el multiplicador de 1.024, o kb , mb o gb para usar 1,000.

  rsync --min-size =  30mb/home/jon/Desktop/data// home/jon/Desktop/backupdata/

Lo mismo puede hacerse para –min-size , como puede ver arriba. En este ejemplo, rsync solo copiará archivos de 30 MB o más.

  rsync --min-size =  30mb  --progress /home/jon/Desktop/data// home/jon/Desktop/backupdata/

Cuando usa rsync para copiar archivos que son muy grandes, como 30 MB o más, especialmente cuando hay varios, es posible que desee ver el progreso de la función de copia para saber que el comando se está procesando. En esos casos, use la opción –progress para ver el proceso funcionar hasta el 100%.

Copiar carpetas enteras

  rsync --recursive /home/jon/Desktop/data/home/jon/Desktop/data2 

La opción –recursive proporciona una manera fácil de copiar una carpeta completa en una ubicación diferente, como la carpeta /data2/ en el ejemplo anterior.

Este comando copiará toda la carpeta y todo su contenido a la nueva ubicación.

Excluir ciertos archivos

  rsync -r --exclude = "* .deb  "/home/jon/Desktop/data/home/jon/Desktop/backupdata 

También puede copiar una carpeta completa pero excluir archivos de una determinada extensión de archivo, como los archivos DEB en este ejemplo anterior.

En este ejemplo, toda la carpeta /data/ se copia en /backupdata/ como en el ejemplo anterior, pero todos los archivos DEB se excluyen de la copia.

Rate article
labsfabs.com
Add a comment