Inicio > Gestión de archivos y directorios > rsync-progress

rsync-progress: Mostrar el progreso de rsync

`rsync-progress` se refiere a la forma de mostrar visualmente el progreso durante la sincronización de archivos utilizando el comando `rsync`. Generalmente se utiliza a través de la opción `--progress` del comando `rsync`, o como un script de shell o un alias que la incluye. Es muy útil para comprender el estado actual de la transferencia, el tiempo restante y la velocidad de transferencia al transferir grandes cantidades de archivos.

Descripción general

`rsync-progress` no es un comando independiente, sino un término general para la función que muestra el progreso de la transferencia a través de la opción `--progress` de `rsync`, una potente herramienta de sincronización de archivos. El uso de esta función permite verificar el estado actual en tiempo real durante la transferencia de archivos, lo que resulta útil al sincronizar archivos grandes o múltiples archivos.

Características principales

La información principal que se puede obtener a través de la opción `--progress` de `rsync` es la siguiente:

  • Progreso de transferencia en tiempo real (porcentaje)
  • Nombre del archivo que se está transfiriendo actualmente
  • Velocidad de transferencia (por ejemplo, MB/s)
  • Tiempo de transferencia restante

Opciones principales

`rsync-progress` utiliza las opciones del comando `rsync`. A continuación se presentan las opciones de `rsync` que se utilizan con frecuencia junto con la visualización del progreso:

Progreso y salida

Comportamiento de sincronización

Comando generado:

Combina los comandos.

Descripción:

`rsync-progress` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Instalación

`rsync-progress` no es un comando que requiera una instalación separada, sino una función del comando `rsync`. Aunque `rsync` está instalado por defecto en la mayoría de las distribuciones de Linux, si no está instalado, puede instalarlo utilizando los siguientes comandos:

Debian/Ubuntu

sudo apt update && sudo apt install rsync

Instala `rsync` utilizando el gestor de paquetes APT.

CentOS/RHEL

sudo yum install rsync

Instala `rsync` utilizando el gestor de paquetes YUM.

Fedora

sudo dnf install rsync

Instala `rsync` utilizando el gestor de paquetes DNF.

Ejemplos de uso

A continuación se presentan varios ejemplos de cómo utilizar el comando `rsync` junto con la opción `--progress` para verificar el progreso de la sincronización de archivos:

Sincronizar directorio local y mostrar progreso

rsync -avh --progress source_dir/ destination_dir/

Sincroniza el contenido de `source_dir` en el directorio actual con `destination_dir` y muestra el progreso.

Sincronizar archivos con un servidor remoto y mostrar progreso

rsync -avz --progress local_files/ user@remote_host:/path/to/remote_dir/

Sincroniza el directorio `local_files/` local con `user@remote_host:/path/to/remote_dir/` en el servidor remoto y muestra el progreso.

Crear un alias para `rsync-progress`

alias rsync-progress='rsync -avh --progress'

Puede crear un alias llamado `rsync-progress` que incluya las opciones de `rsync` que se usan con frecuencia para un uso conveniente. Este alias solo es válido para la sesión de shell actual; para usarlo de forma permanente, agréguelo a su archivo de configuración de shell (por ejemplo, `~/.bashrc`, `~/.zshrc`).

Sincronizar localmente usando el alias

rsync-progress /path/to/source/ /path/to/destination/

Utiliza el alias `rsync-progress` creado anteriormente para sincronizar directorios locales.

Simular operación de eliminación y mostrar progreso

rsync -avh --progress --delete --dry-run source_dir/ destination_dir/

Verifica qué archivos se eliminarían si se aplicara la opción `--delete` utilizando `--dry-run` sin eliminar realmente los archivos.

Consejos y precauciones

Aquí tienes algunos consejos útiles y precauciones al usar `rsync` y la opción `--progress`:

Combinaciones de opciones eficientes

Usar `--progress` junto con `-v` (verbose) permite obtener más información, y usarlo junto con `-h` (human-readable) facilita la comprensión del tamaño de los archivos. La opción `-a` (archive) es recomendable para la mayoría de las operaciones de sincronización.

  • `rsync -avh --progress source/ dest/` (la combinación más común y útil)
  • `rsync -avz --progress source/ user@host:dest/` (añadir compresión para transferencias remotas)

Uso de `--dry-run`

Especialmente cuando se utilizan opciones destructivas como `--delete`, siempre es recomendable usar primero la opción `--dry-run` para verificar de antemano qué cambios se realizarán. Esto es crucial para prevenir la pérdida de datos inesperada.

Consideraciones sobre el entorno de red

Al transferir a un servidor remoto, la opción `--compress` (`-z`) puede ahorrar ancho de banda de red, pero aumenta el uso de CPU. Si la velocidad de la red es suficientemente rápida, la compresión podría incluso aumentar el tiempo de transferencia, por lo que debe usarse adecuadamente según el entorno.

Precaución con las barras inclinadas (`/`) en las rutas de origen/destino

Si agrega una barra inclinada al final de la ruta de origen (`source_dir/`), el *contenido* de `source_dir` se copiará en el destino. Si no agrega una barra inclinada (`source_dir`), `source_dir` *en sí* se creará dentro del directorio de destino. Esta diferencia es muy importante, así que tenga cuidado.


Comandos de la misma categoría