Cómo usar la utilidad rsync en Linux para administrar archivos a través de una red
Dominando la gestión de archivos con rsync en Linux usando ava.hosting
Gestionar archivos entre sistemas es muy fácil con
rsync, una potente utilidad de Linux para sincronizar y transferir archivos a través de una red. Ya sea que estés haciendo copias de seguridad de datos, reflejando directorios o migrando archivos en los VPS de alto rendimiento de ava.hosting o en servidores dedicados,
rsyncgarantiza eficiencia al copiar solo los cambios entre el origen y el destino. Por ejemplo, puedes usar
rsyncpara hacer una copia de seguridad de los archivos de tu sitio web alojado en ava.hosting en un servidor remoto, minimizando el ancho de banda y el tiempo. Esta guía cubre la instalación, el uso y la automatización de
rsyncpara una gestión de archivos sin problemas, optimizada para la infraestructura confiable de ava.hosting.
Instalando rsync
La mayoría de las distribuciones de Linux vienen con rsync preinstalado. Para comprobar si está instalado, ejecuta:
rsync --version
Si no está instalado, puedes instalarlo usando el gestor de paquetes de tu distribución:
- Debian/Ubuntu:
sudo apt install rsync - RHEL/CentOS:
sudo yum install rsync - Fedora:
sudo dnf install rsync - Arch Linux:
sudo pacman -S rsync
📌 ¿Cómo transferir archivos desde Windows a un servidor remoto usando rsync a través de PuTTY SSH?
Para usar rsync en Windows a través de PuTTY SSH, necesitas tener instalado:
PuTTY para la conexión SSH
rsync y OpenSSH en Windows
Pagent (opcional) para autenticación automática con la clave SSH
Instalar rsync en Windows usando MSYS2
Si has descargado MSYS2, puedes instalar rsync fácilmente usando pacman, el gestor de paquetes de MSYS2.
- Actualizar MSYS2 y los paquetes existentes
En la terminal de MSYS2, ejecuta:
pacman -Syu- Si MSYS2 se cierra automáticamente después de la actualización, ábrelo de nuevo y ejecuta:
pacman -Su✅ Este paso garantiza que tengas la versión más reciente del gestor de paquetes.
- Instalar rsync
Ahora instala rsync usando:
pacman -S rsync
💡 Si necesitas openssh para la transferencia SSH, instálalo también:
pacman -S openssh
Verificar la instalación
Para verificar que rsync se instaló correctamente, ejecuta:
rsync --version
Sintaxis básica de rsync
La sintaxis básica de rsync es:
rsync [options] source destination
Opciones de uso común
- -a : Modo archivo (preserva enlaces simbólicos, permisos, marcas de tiempo, etc.)
- -v : Salida detallada
- -z : Comprime los datos del archivo durante la transferencia
- -P : Muestra el progreso durante la transferencia
- -r : Copia directorios recursivamente
- -e : Especifica una shell remota (como SSH)
Usando rsync para la sincronización local de archivos
Para sincronizar archivos entre dos directorios locales:
rsync -av /source/directory/ /destination/directory/
La barra inclinada final / en el origen garantiza que solo se copien los contenidos del directorio, no el directorio en sí.
Usando rsync a través de una red
Transferencia de archivos a un servidor remoto
Para transferir archivos desde un sistema local a un servidor remoto:
rsync -avz /local/directory/ user@remote_host:/remote/directory/*Después de haber añadido el comando en MSYS2, añadiremos los datos SSH para conectarnos al servidor remoto y se mostrará el resultado:
Este comando copia de forma segura los archivos al servidor remoto usando SSH.
Comprueba si el comando se ejecutó correctamente en tu servidor remoto:
Transferencia de archivos desde un servidor remoto a una máquina local
Para copiar archivos desde un servidor remoto a tu máquina local. Por defecto, rsync usa SSH para una comunicación segura. Puedes especificar SSH explícitamente con:
rsync -avz -e ssh /local/directory/ user@remote_host:/remote/directory/
Si SSH usa un puerto no predeterminado (por ejemplo, 2222), especifícalo así:
rsync -avz -e "ssh -p 2222" /local/directory/ user@remote_host:/remote/directory/
Sincronización y eliminación de archivos extra
Para eliminar archivos extra en el destino que no están presentes en el origen:
Primer paso agregamos archivos extra en la terminal PuttySSH:
cd /home/user/test_backup/touch file1.txt file2.log file3.jpgmkdir extra_filestouch extra_files/old_file.txtAhora sincroniza el directorio sin ciertos archivos, y rsync eliminará los archivos que ya no están en el origen:
rsync -av --delete /source/directory/ /destination/directory/
📌 ¿Qué hace?
Todos los archivos que están en el servidor pero NO en test/local serán eliminados.
Resultado de MSYS2

Resultado de PuttySSH

Advertencia: Usa –delete con precaución, ya que elimina permanentemente los archivos del destino.
Excluyendo archivos y directorios
Para excluir archivos o directorios específicos:
rsync -av --exclude 'file_or_directory' /source/ user@remote_host:/destination/Resultado de MSYS2

Resultado de PuttySSH

Para múltiples exclusiones, usa:
rsync -av --exclude={'file1','dir1','*.log'} /source/ user@remote_host:/destination/
Ejecutar rsync como un proceso en segundo plano
Puedes ejecutar rsync en segundo plano usando nohup:
nohup rsync -avz /source/ user@remote_host:/destination/
Esto permite que el proceso continúe incluso después de cerrar sesión.
En la directiva local agregamos un nuevo archivo new_file.txt33333333, luego desconectamos la terminal PuttySSH, y el comando anterior nos permite enviar archivos incluso cuando el servidor está desconectado.

Automatizar transferencias de archivos con Cron Jobs
Para programar la sincronización automática usando cron, abre el crontab:
crontab -e
Añade un trabajo para ejecutar rsync todos los días a medianoche:
0 0 * * * rsync -avz /source/ user@remote_host:/destination/
Conclusión
rsynces una herramienta indispensable para la gestión de archivos en Linux, que ofrece capacidades eficientes de sincronización y transferencia a través de redes. Ya sea que estés haciendo una copia de seguridad de un sitio de WordPress, reflejando registros o migrando datos en el fiable VPS de ava.hosting,
rsyncahorra tiempo y ancho de banda. Por ejemplo, puedes usar
rsyncpara hacer una copia de seguridad de forma segura del directorio
/var/wwwde tu servidor ava.hosting en una ubicación remota, garantizando la seguridad de los datos. Con la infraestructura de alto rendimiento de ava.hosting y las opciones versátiles de
rsync, puedes optimizar flujos de trabajo, automatizar copias de seguridad y gestionar archivos con confianza.



