rsync

Cómo usar rsync para copiar archivos

Cómo usar rsync para copiar archivos
Rsync es una herramienta de línea de comandos en Linux que se utiliza para copiar archivos desde una ubicación de origen a una ubicación de destino. Puede copiar archivos, directorios y todo el sistema de archivos y mantener sincronizados los archivos entre diferentes directorios. Hace más que copiar los archivos. Reduce la cantidad de datos enviados a través de la red enviando solo los archivos que son nuevos o actualizados. Es por eso que se considera una gran utilidad para copiar y realizar copias de seguridad de archivos. Rsync también admite la copia de archivos a un sistema remoto a través de SSH.

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, varios archivos y un directorio en sistemas locales y remotos. Cubriremos cómo usar Rsync para:

Hemos explicado los comandos y el procedimiento mencionados en este artículo en Ubuntu 20.04 LTS. Necesitará la Terminal de línea de comandos para copiar archivos usando rsync. Para abrir la aplicación 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 install 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 datos de forma recursiva
-z: comprime datos
-q: suprime la salida

Copie archivos y directorios localmente

La sintaxis general de rsync es:

$ rsync [opción] [origen] [destino]

Copie un solo archivo localmente

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 "file1.txt ”desde la ubicación actual que es el directorio de inicio al directorio ~ / Documentos, el comando sería:

$ rsync / inicio / 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 ~ / Documents en lugar de mencionar la ruta completa como "/ home / tin / Documents".

Copie varios 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“ file3.txt ”del directorio de inicio al directorio ~ / Documentos, el comando sería:

$ rsync / home / tin / file2.txt / inicio / 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 terminan en ".zip ”al directorio ~ / Documents, usaremos:

$ rsync / home / tin / *.zip ~ / Documentos

Copiar directorios localmente

Si desea copiar un directorio con su subdirectorio y todo el contenido de una ubicación a otra dentro de su sistema, puede hacerlo escribiendo rsync seguido del directorio de origen y destino.

Por ejemplo, para copiar el directorio "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 del directorio de origen solo copia el contenido del directorio. Si no especificamos la “/” después del directorio de origen, el directorio de origen también se copiará al directorio de destino.

Como en el siguiente resultado, puede ver que nuestro directorio de origen "muestra" también se copia en el directorio de destino (ya que hemos utilizado "muestra" en lugar de "muestra /" como directorio de origen).

Rsync admite la transferencia incremental, como puede ver en el resultado anterior, que solo transfiere los archivos que son nuevos o actualizados.

Copie archivos según el tamaño máximo

Durante la copia, 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 no mayores de 2000k desde ~ / Descargas al directorio ~ / Documentos, el comando sería:

$ rsync -a --max-size = 2000k / home / tin / Downloads / * / home / tin / Documentos

Este comando copiará todos los archivos de ~ / Descargas al directorio ~ / Documentos, excepto los de más de 2000k.

Copie archivos según el 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 a 5M desde ~ / Descargas al directorio ~ / Documentos, el comando sería:

$ rsync -a --min-size = 5M / home / tin / Downloads / / home / tin / Documentos

Este comando copiará todos los archivos de ~ / Descargas al directorio ~ / Documentos excepto los menores de 5M.

Excluir archivos

Mientras copia archivos de un directorio a otro, puede excluir algunos archivos usando la opción "-excluir" seguida del nombre del archivo o la extensión del tipo de archivo.

Por ejemplo, para excluir todos los .zip mientras copia archivos desde ~ / Descargas al directorio ~ / Documentos, el comando sería:

$ rsync -a --exclude = "*.zip "/ inicio / tin / Descargas / / inicio / tin / Documentos

Copie archivos y directorios de forma remota

Con Rsync, puede copiar un solo archivo, varios archivos y directorios a un sistema remoto. Para copiar archivos y directorios de forma remota, necesitará:

Antes de copiar archivos usando rsync, asegúrese de que puede acceder al sistema remoto a través de SSH:

$ ssh usuario_remoto @ ip_remoto


La sintaxis general para copiar archivos y directorios a un sistema remoto usando rsync:

$ rsync [opción] [fuente] [remoteuser @ remoteip: destination]

Por ejemplo, para copiar un solo archivo "archivo.txt ”de ~ / Descargas al directorio del sistema remoto ~ / Documentos, el comando sería:

$ rsync -v ~ / Descargas / archivo1.txt umara @ 192.168.72.164: ~ / Documentos

De manera similar, para copiar el directorio "~ / Downloads / files" en un sistema local con su subdirectorio y todo el contenido al directorio "~ / Downloads / samples" en el sistema remoto:

$ rsync -rv ~ / Descargas / archivos umara @ 192.168.72.164: ~ / 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 al escritorio del sistema local:

$ rsync -v umara @ 192.168.72.164: ~ / Descargas / archivo2.txt ~ / Escritorio /

Del mismo modo, para copiar un directorio del sistema remoto al sistema local

$ rsync -rv umara @ 192.168.72.164: ~ / 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 desde el origen al destino, ya sea de forma local o remota. Incluye un gran conjunto de opciones que le brinda flexibilidad y control mientras transfiere archivos hacia / desde el sistema remoto.

Cómo cambiar el tamaño, el color y el esquema del puntero del mouse y del cursor en Windows 10
El puntero y el cursor del mouse en Windows 10 son aspectos muy importantes del sistema operativo. Esto también se puede decir de otros sistemas opera...
Motores de juegos gratuitos y de código abierto para desarrollar juegos de Linux
Este artículo cubrirá una lista de motores de juegos de código abierto y gratuitos que se pueden usar para desarrollar juegos 2D y 3D en Linux. Existe...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider es la duodécima incorporación a la serie Tomb Raider, una franquicia de juegos de acción y aventuras creada por Eidos Montre...