Instalación de RSYNC
Guía paso a paso para la instalación y configuración de Remote Synchronization (RSYNC) para la sincronización de datos.
rsync (Remote Synchronization) es una aplicación de línea de comandos multiplataforma para sincronizar datos con un consumo mínimo de ancho de banda. Se utiliza ampliamente para copias de seguridad, migraciones y mirroring de datos entre servidores.
Por ejemplo, rsync permite transferir proyectos desde un alojamiento web a un VPS, sincronizar directorios entre varios servidores dedicados y mantener copias actualizadas de archivos dentro de la infraestructura.
Instalar rsync
Para instalar el módulo rsync en el servidor, ejecuta los comandos correspondientes según el sistema operativo.
Para CentOS:
yum -y install rsync
Para Debian/Ubuntu:
sudo aptitude install rsync
Nuestros servicios y productos
Ejemplos de uso de rsync
Sincronización local
sudo rsync -avh --delete /var/www/ /root/backup/www/
Este comando sincroniza el contenido del directorio /var/www/ con /root/backup/www/, eliminando los archivos que ya no existen en el origen. Es útil para crear un mirror de un directorio.
Sincronización hacia un servidor remoto
sudo rsync -avh --delete /var/www/ root@192.168.1.50:/root/backup/www/
En este ejemplo, los archivos se copian a otro servidor mediante SSH. Para realizar la sincronización, rsync debe estar instalado en ambos servidores.
Sincronización desde un servidor remoto al equipo local
sudo rsync -avh root@192.168.1.50:/var/www/ /root/backup/www/
Este ejemplo muestra cómo sincronizar datos desde un servidor remoto hacia la máquina local. Es útil para transferir archivos desde otro servidor.
Sincronización vía SSH con un puerto no estándar
sudo rsync -avh -e "ssh -p 1111" root@192.168.1.50:/var/www/ /root/backup/www/
Si el servidor SSH está configurado para usar un puerto no estándar, por ejemplo el 1111, se usa el parámetro -e para especificarlo. Este ejemplo permite sincronizar archivos vía SSH a través de un puerto diferente.
Exclusión de directorios
sudo rsync -avh --exclude='dir/' --exclude='dir/tmp/' /var/www/ /root/backup/www/
En este ejemplo, los archivos de los directorios dir y dir/tmp quedan excluidos de la sincronización. Es útil cuando se desea excluir datos temporales o innecesarios de la copia de seguridad.
Transferencia de archivos desde un servidor remoto (con eliminación del origen)
sudo rsync -avh --remove-source-files root@192.168.1.50:/var/www/ /var/www/
Este ejemplo copia archivos desde un servidor remoto y los elimina simultáneamente del directorio de origen. Es especialmente útil al migrar datos de un servidor a otro.
Copia de una base de datos MySQL a otro disco
sudo rsync -vrplogDtH --progress /var/lib/mysql/ /newhdd/var/lib/mysql/
Este ejemplo se utiliza para copiar una base de datos MySQL completa, incluyendo su estructura y archivos. La opción --progress permite seguir el progreso de la transferencia.
Parámetros y flags de rsync más utilizados
-v— modo verbose: muestra información detallada sobre el proceso de copia.-r— copia recursiva (recursive): se usa para copiar directorios.-a— modo archivo (archive): preserva permisos, enlaces simbólicos, marcas de tiempo y estructura de directorios.-b— modo backup: crea copias de los archivos modificados antes de reemplazarlos.-c— verificación por checksum: garantiza que los datos se hayan sincronizado correctamente.--delete— elimina los archivos que ya no existen en la carpeta de origen.-h— salida legible (human-readable): muestra los tamaños de archivo en un formato comprensible (por ejemplo, en megabytes).-n— simulación sin cambios (dry-run): muestra qué se ejecutaría sin realizar ninguna modificación.-p— preservación de permisos (permissions): garantiza que los permisos de acceso a los archivos se mantengan.-z— compresión de datos durante la transferencia (compress): reduce el volumen de datos transferidos.-H— preservación de enlaces duros (hard links), si están presentes en los datos de origen.-x— restricción a un único sistema de archivos (one-file-system).
La lista completa de opciones disponibles se encuentra en el manual:
man rsync
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!