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.