Transferencia de archivos de un servidor a otro mediante Rsync


Introducción

rsync es una herramienta de línea de comandos ampliamente utilizada en sistemas Linux, como Ubuntu, para realizar copias y sincronizaciones eficientes de archivos y directorios entre sistemas locales y remotos. Su principal ventaja radica en la transferencia incremental, lo que significa que solo se copian las diferencias entre el origen y el destino, optimizando el tiempo y el uso de ancho de banda. Además, rsync ofrece características avanzadas como la preservación de permisos, enlaces simbólicos y atributos de archivo.

Esta herramienta es ideal para realizar backups, migraciones de datos, sincronización de servidores o cualquier tarea que requiera mantener datos actualizados entre ubicaciones diferentes. Su flexibilidad y confiabilidad lo convierten en una opción indispensable para administradores de sistemas y usuarios avanzados en Ubuntu.

Opciones principales del comando rsync

  1. -a (modo archivo o archive):
    • Activa un modo de copia que conserva:
      • Permisos del archivo.
      • Propietarios y grupos.
      • Marcas de tiempo.
    • Copia recursivamente todos los subdirectorios y mantiene la estructura completa de los archivos.
  2. -v (verbose):
    • Muestra detalles del proceso en la terminal, incluyendo:
      • Nombre del archivo transferido.
      • Progreso en porcentaje.
      • Velocidad de transferencia.
      • Tiempo restante estimado para completar la operación.
  3. -P:
    • Combina dos funcionalidades clave:
      • Reanudar transferencias interrumpidas (--partial).
      • Mostrar el progreso en tiempo real (--progress).
  4. --dry-run:
    • Ejecuta una simulación del comando sin realizar transferencias.
    • Útil para verificar que el comando esté configurado correctamente antes de ejecutarlo.

Ejemplo práctico de rsync

  • Simular una transferencia para verificar errores:

rsync -avP --dry-run index.php servidor1@10.200.2.122:/var/www/html/
  • Propósito: Comprobar si el comando funcionará correctamente antes de realizar la transferencia real.
  • Transferencia válida de un archivo:
rsync -avP index.php servidor1@10.200.2.122:/var/www/html/
  • Propósito: Copiar el archivo index.php al servidor remoto en la ruta /var/www/html/.

Notas importantes:

  • Verifica permisos: Asegúrate de que el usuario remoto (servidor1) tenga permisos de escritura en la ruta destino (/var/www/html/).
  • Rutas y nombres correctos: Revisa las rutas del archivo fuente y destino para evitar errores.
  • Simula primero: Usa siempre --dry-run si trabajas con archivos importantes o desconoces los resultados del comando.

Conclusión: 

rsync es una solución poderosa y versátil para la gestión y sincronización de archivos en Ubuntu. Su capacidad para realizar transferencias rápidas y seguras, junto con opciones personalizables como -a, -v, --dry-run y -P, lo hacen adecuado para una variedad de casos de uso, desde simples copias locales hasta complejas sincronizaciones remotas.

Gracias a su eficiencia y facilidad de uso, rsync no solo ahorra tiempo y recursos, sino que también garantiza la integridad y consistencia de los datos entre sistemas. Aprender y dominar rsync es una inversión valiosa para cualquier usuario que desee gestionar datos de manera profesional en Ubuntu o cualquier sistema Linux.

Síguenos en nuestras redes sociales