Cómo usar la utilidad rsync en Linux para administrar archivos a través de una red

Popular:
¡MEJORA LA CONFIGURACIÓN DE TU SERVIDOR! APLICAR AVA Y LANZA CON UN 15% DE DESCUENTO
USA EL CÓDIGO PROMOCIONAL:

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,

rsync

garantiza eficiencia al copiar solo los cambios entre el origen y el destino. Por ejemplo, puedes usar

rsync

para 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

rsync

para 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:

ls -lah /home/user/test_backup/ [put_your_directory]

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.jpg
mkdir extra_files
touch extra_files/old_file.txt

Ahora 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

rsync

es 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,

rsync

ahorra tiempo y ancho de banda. Por ejemplo, puedes usar

rsync

para hacer una copia de seguridad de forma segura del directorio

/var/www

de 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.