Cómo usar Rsync para sincronizar directorios locales y remotos
Cómo usar Rsync para sincronizar directorios locales y remotos

Sincronización de directorios entre el servidor y el sistema local rsync

La sincronización de archivos es una de las operaciones más importantes en el almacenamiento de datos, las copias de seguridad y la gestión de servidores. La herramienta rsync es una opción potente, flexible y optimizada para esta tarea. Esta guía le mostrará cómo sincronizar directorios locales y remotos (en el servidor) con rsync, usarlo para realizar copias de seguridad y automatizar transferencias.
0 acciones
0
0
0
0

1. Requisitos previos

Para ejecutar sincronización r Entre el sistema local y un servidor remoto necesitas:

  • Dos dispositivos: uno local (tu computadora) y otro Servidor Linux (VPS o servidor dedicado)

  • sincronización r Instalado en ambos sistemas

  • Acceso SSH entre dos sistemas (para que puedan comunicarse sin ingresar contraseñas constantemente)

  • Clave pública SSH en el servidor de destino en el archivo claves autorizadas para ser colocado


2. El concepto y la función de rsync (versión especializada y comprensible para principiantes y profesionales)

sincronización r es una potente herramienta de línea de comandos en Linux que se utiliza para Sincronización (Sync) y Transferencia de datos Se utiliza entre dos rutas, ya sea que estas rutas estén en el mismo sistema o en dos servidores separados.

Pero ¿por qué es tan popular rsync?
Por eso En lugar de transferir archivos completos, transfiere sólo las partes que han cambiado.

¿Cómo funciona exactamente rsync? (Explicación sencilla y precisa)

Cuando ejecuta rsync, la herramienta primero:

  1. Estructura y contenido de las dos pistas (por ejemplo, la carpeta de destino y la carpeta de origen) se compara.

  2. Cheques ¿Qué archivos son nuevos, cuáles han cambiado y cuáles han sido eliminados o no se han modificado?.

  3. En lugar de enviar el archivo completo, sólo Parte de los datos que han cambiado Traslados.

Esta técnica se llama:

Algoritmo de transferencia delta

Este algoritmo rsync Muy rápido y eficiente Lo hace porque:

  • Se reduce el ancho de banda consumido.

  • El tiempo de transferencia es mucho más corto.

  • Los recursos de la CPU en el servidor están menos involucrados


Ejemplo sencillo para comprender mejor la funcionalidad de rsync

Digamos que tienes un archivo de 1 GB y solo se han modificado 5 MB del mismo.

  • Herramientas comunes como SCP-1811 Vuelven a subir el archivo completo de 1 GB.

  • Pero rsync solo envía los mismos 5 MB que cambiaron..

Esto significa:

  • Más velocidad

  • Menos uso de Internet

  • Menos presión en el servidor


rsync y servidores: ¿Por qué es la mejor herramienta para la gestión de servidores?

Cuando en un Servidor O Servidor privado virtual (VPS) Trabajas, normalmente necesitas:

  • Mover copias de seguridad entre dos servidores

  • Mover archivos del sitio del servidor actual al nuevo servidor

  • Mantenga siempre sincronizadas las carpetas importantes (como /var/www).

  • Transfiere archivos grandes sin desperdiciar ancho de banda

En todos estos casos, rsync es la mejor opción porque:

Transferencia segura con SSH

rsync utiliza el protocolo SSH para transferencias, por lo que:

  • Los datos están encriptados.

  • No es necesario abrir puertos adicionales

  • La seguridad de las comunicaciones está garantizada.

Eliminar archivos adicionales en el destino

Con bandera --borrar Puede mantener el destino exactamente igual que la fuente.

Función de currículum

Si la conexión a Internet se cae durante la transferencia, rsync transferirá el resto del archivo, no desde cero.

Adecuado para automatización

Se adapta fácilmente a los cronjobs y crea procesos de copia de seguridad automatizados.


Ejemplo real para mejor comprensión:

Si desea sincronizar la siguiente ruta del servidor A al servidor B:

rsync -avz /var/www/ user@server-ip:/var/www/

Este comando:

  • Solo cambios de carpeta /var/www Transferencias

  • Lo actualiza en el destino.

  • Garantiza la transmisión segura a través de SSH


Un resumen simple para alguien nuevo en rsync:

CaracterísticaExplicación
Aplicación principalTransferencia de datos y sincronización de carpetas
Ventaja principalSolo se transfieren los cambios, no el archivo completo.
SeguridadUso de SSH para transferencias seguras
Alta velocidadDebido al algoritmo de transferencia delta
Profesional y amigable con el servidorLa mejor herramienta para backup y migración entre VPS

3. Sintaxis básica de rsync

Estructura general sincronización r Al igual que otras herramientas de archivos como SCP-1811 es:

rsync [OPTIONS] منبع مقصد

Ejemplo local sencillo:

  • Cree dos carpetas de prueba en el sistema local

  • Implementación:

    rsync -a dir1/ dir2

    En este caso, solo el contenido directorio1 A directorio2 Lo que se mueve es lo que no la carpeta en sí.

Opción -a (archivo) se recomienda porque:

  • Sincroniza recursivamente el directorio

  • Conserva la propiedad del archivo, el tiempo de modificación y los permisos.

Importante: si coloca un “/” al final de la ruta de origen, solo se sincronizará el contenido del directorio; si no lo hace, se transferirá la carpeta original.


4. Ejecute una vista previa segura con --ejecución en seco

Antes de realizar operaciones sensibles (especialmente cuando se utilizan opciones como --borrar que uses), es mejor hacer un ensayo primero:

rsync -anv --delete /مسیر/منبع/ /مسیر/مقصد/
  • Opción -norte O --ejecución en seco Simula operaciones sin realizar cambios

  • -v (verbose) Proporciona una salida detallada de los archivos que se sincronizan o eliminan.

Esta vista previa le ayuda a ver exactamente qué sucederá antes de eliminar archivos y evitar errores riesgosos.


Cómo usar Rsync para sincronizar directorios locales y remotos
Cómo usar Rsync para sincronizar directorios locales y remotos

5. Enviar y recibir archivos entre el sistema local y el servidor

Enviar al servidor (Push)

Para sincronizar un directorio local con el servidor:

rsync -a ~/local-dir/ user@remote-server:/remote/path/
  • -a: Conservar los atributos del archivo

  • ~/directorio-local/: Ruta local

  • usuario@servidor remoto:Dirección de usuario y servidor

  • :/ruta/remota/: Ruta en el servidor

Si "/" está al final de la fuente, solo se envía el contenido de la carpeta; de lo contrario, también se transfiere la carpeta en sí.

Recibir del servidor (Pull)

Operación inversa: Sincronización del servidor al sistema local:

rsync -a user@remote-server:/remote/path/ ~/local-dir/

Nuevamente, es importante tener en cuenta la barra en la ruta de origen (aquí la ruta del servidor) porque determina el comportamiento de sincronización.


6. Opciones avanzadas sincronización r

  • -z:Comprime datos al enviarlos para reducir el uso de la red

  • -PAG:Una combinación de --progreso y --parcial Que permite visualizar el progreso de la transferencia y permitir que se continúen las transferencias incompletas

Ejemplo:

rsync -azP ~/local/dir/ user@remote:/remote/dir/
  • --borrar:Eliminar archivos que existen en el destino pero que ya no existen en el origen (apto para duplicación)

  • --excluir y --incluir: Filtrar archivos/carpetas para una interacción más precisa

  • --respaldo y --directorio-de-copia-de-seguridad:Crear una copia de seguridad de los archivos eliminados en una ruta separada


7. Sincronización programada con Cron

Para ejecutar una sincronización periódica, puede sincronización r en cron Cronograma:

  • Editar crontab:

    crontab -e
  • Ejemplo de un cronjob diario para sincronización:

    0 3 * * * /usr/bin/rsync -a --delete /var/www/html/ user@remote:/backups/html/

    Este comando se ejecuta todos los días a las 3 a. m. y sincroniza el directorio local con la versión del servidor.

Recomendaciones importantes para cron-job:

  • De caminos absolutos a sincronización r y utilizar directorios

  • Configuración del inicio de sesión con clave SSH sin contraseña

  • Guardar la salida de cron en un archivo de registro o manejar errores


8. Solución de problemas comunes y mejores prácticas

Algunos problemas comunes al utilizar sincronización r Y sus soluciones:

  • Error en la ruta de origen/destino:Uso de --ejecución en seco Para una revisión detallada

  • Eliminación no deseada de archivos:Solo cuando estemos absolutamente seguros de --borrar Vamos a usarlo

  • Errores de permisos: con -a Mantener la propiedad y los permisos.

  • Problemas de automatización: Utilice rutas completas y autenticación SSH sin contraseña


Conclusión

sincronización r Es una herramienta muy potente y optimizada para sincronizar datos entre el equipo local y el servidor. Gracias al algoritmo de transferencia delta, esta herramienta es una opción de bajo consumo, segura y precisa para realizar copias de seguridad, transferir datos y crear entornos espejo. Experimente con las opciones avanzadas. --ejecución en seco y programar con cronPuede optimizar, proteger y automatizar el proceso de sincronización.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

También te puede gustar

Cómo instalar IBSng en CentOS 6/7

Tutorial de instalación de IBSng en CentOS 6/7. En este artículo se proporciona un tutorial de instalación de IBSng en CentOS 6/7 para ayudarle…