En este artículo, explicaremos cómo usar RSYNC para copiar archivos con algunos ejemplos prácticos. También explicaremos el uso de RSYNC en la copia de un solo archivo, múltiples archivos y directorio a sistemas locales y remotos. Cubriremos cómo usar RSYNC para:
Hemos explicado los comandos y el procedimiento mencionados en este artículo sobre un Ubuntu 20.04 LTS. Necesitará el terminal de línea de comandos para copiar archivos utilizando RSYNC. Para abrir la aplicación de terminal de línea de comando, use el atajo de teclado Ctrl+Alt+T.
Instalación de RSYNC
RSYNC viene preinstalado en Ubuntu 20.04 LTS. Sin embargo, si se elimina accidentalmente del sistema, puede instalarlo de la siguiente manera:
$ sudo apt instalación rsync
Estas son algunas de las opciones de uso común que se pueden usar con RSYNC:
-A: modo de archivo
-V: Muestra detalles del proceso de copia
-P: muestra la barra de progreso
-R: copia los datos de recursiva
-z: comprime datos
-P: suprimir la salida
Copiar archivos y directorios localmente
La sintaxis general de RSYNC es:
$ rsync [opción] [fuente] [destino]
Copiar un solo archivo local
Si desea copiar un archivo de una ubicación a otra dentro de su sistema, puede hacerlo escribiendo rsync seguido del nombre del archivo de origen y el directorio de destino.
Por ejemplo, para copiar un solo archivo "archivo1.txt ”Desde la ubicación actual que es directorio de inicio para ~/Documents Directory, el comando sería:
$ rsync/home/tin/file1.txt/home/tin/documentos
Nota: en lugar de “/home/tin/file1.txt ", también podemos escribir" file1 ", ya que actualmente estamos trabajando en el directorio de inicio. Además, podemos usar ~/documentos en lugar de mencionar la ruta completa como "Home/Tin/Documents".
Copiar múltiples archivos localmente
Si desea copiar varios archivos a la vez de una ubicación a otra dentro de su sistema, puede hacerlo escribiendo rsync seguido del nombre de los archivos de origen y el directorio de destino.
Por ejemplo, para copiar los archivos "File2.txt "y" archivo3.txt ”Desde el directorio de inicio al directorio ~/Documents, el comando sería:
$ rsync/home/tin/file2.txt/home/tin/file3.txt/home/tin/documentos
Para copiar todos los archivos con la misma extensión, puede usar el símbolo de asterisco (*) en lugar de especificar individualmente los nombres de los archivos. Por ejemplo, para copiar todos los archivos del directorio de inicio que termina con ".Extensión Zip ”al directorio ~/Documents, usaremos:
$ rsync/home/tin/*.Zip ~/Documentos
Copiar directorios localmente
Si desea copiar un directorio con su subdirectorio y todos los contenidos de una ubicación a otro dentro de su sistema, puede hacerlo como escribiendo rsync seguido del directorio de origen y destino.
Por ejemplo, para copiar el directorio de "muestra" al directorio "prueba/" dentro del directorio de inicio, el comando sería:
$ rsync -av/home/tin/sample/home/tin/test
Nota: Especificar "/" después de que el directorio de origen solo copie el contenido del directorio. Si no especificamos el "/" después del directorio de origen, el directorio de origen también se copiará en el directorio de destino.
Al igual que en la siguiente salida, puede ver que nuestro directorio de origen "muestra" también se copia en el directorio de destino (ya que hemos usado "muestra" en lugar de "muestra/" como directorio de origen).
RSYNC admite la transferencia incremental como puede ver en la salida anterior que solo transfiere los archivos que son nuevos o actualizados.
Copiar archivos basados en el tamaño máximo
Mientras copiamos, también podemos especificar el tamaño máximo de los archivos que se pueden copiar con la opción "-Max-Size". Por ejemplo, para copiar los archivos de no más de 2000k desde ~/descargas al directorio ~/Documents, el comando sería:
$ rsync -a --max -size = 2000k/home/tin/downloads/*/home/tin/documents
Este comando copiará todos los archivos de ~/descargas a ~/Documenty Directory, excepto los mayores de 2000k.
Copiar archivos basados en un tamaño mínimo
Del mismo modo, también podemos especificar el tamaño mínimo de los archivos que se pueden copiar con la opción "-Min-Size". Por ejemplo, para copiar los archivos no menores que 5m desde ~/descargas al directorio ~/Documents, el comando sería:
$ rsync -a -min -size = 5m/home/tin/downloads//home/tin/documents
Este comando copiará todos los archivos de ~/descargas al directorio ~/Documents, excepto los menos de 5m.
Excluir archivos
Mientras copia archivos de un directorio a otro, puede excluir algunos archivos utilizando la opción "-exclude" seguida del nombre del archivo o la extensión del tipo de archivo.
Por ejemplo, para excluir todo el .Archivos zip Al copiar archivos de ~/descargas a ~/Documents Directory, el comando sería:
$ rsync -a --exclude = "*.zip "/home/tin/downloads//home/tin/documentos
Copiar archivos y directorios de forma remota
Con RSYNC, puede copiar un solo archivo, múltiples archivos y directorios a un sistema remoto. Para copiar archivos y directorios de forma remota, necesitará:
Antes de copiar archivos con RSYNC, asegúrese de poder acceder al sistema remoto a través de SSH:
$ SSH Remote_user@Remote_IP
La sintaxis general para copiar archivos y directorios a un sistema remoto utilizando RSYNC:
$ rsync [opción] [fuente] [remotouser@remotsip: destino]
Por ejemplo, para copiar un solo archivo "archivo.txt ”de ~/descargas al directorio remoto ~/documentos, el comando sería:
$ rsync -v ~/downloads/file1.txt [email protected]: ~/documentos
Del mismo modo, para copiar el directorio "~/descargas/archivos" en un sistema local con su subdirectorio y todos los contenidos al directorio "~/descargas/muestras" en el sistema remoto:
$ rsync -rv ~/descargas/archivos [email protected]: ~/descargas/muestras
También puede copiar los archivos y directorios de la máquina remota a su máquina local. Por ejemplo, para copiar un "archivo2.txt ”desde el sistema remoto hasta el escritorio del sistema local:
$ rsync -v [email protected]: ~/descargas/file2.txt ~/escritorio/
Del mismo modo, para copiar un directorio del sistema remoto al sistema local
$ rsync -rv [email protected]: ~/descargas/muestra ~/escritorio/prueba
También puede usar todas las opciones como -max -size, -min -size, -exclude y otras mientras copia archivos hacia/desde el sistema remoto.
RSYNC es una gran herramienta para copiar archivos de origen a destino, ya sea a nivel local o remotamente. Incluye un gran conjunto de opciones que le brindan flexibilidad y control mientras se transfiere archivos a/desde el sistema remoto.