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 rInstalado en ambos sistemasAcceso 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 autorizadaspara 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:
Estructura y contenido de las dos pistas (por ejemplo, la carpeta de destino y la carpeta de origen) se compara.
Cheques ¿Qué archivos son nuevos, cuáles han cambiado y cuáles han sido eliminados o no se han modificado?.
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-1811Vuelven 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:
Este comando:
Solo cambios de carpeta
/var/wwwTransferenciasLo actualiza en el destino.
Garantiza la transmisión segura a través de SSH
Un resumen simple para alguien nuevo en rsync:
| Característica | Explicación |
|---|---|
| Aplicación principal | Transferencia de datos y sincronización de carpetas |
| Ventaja principal | Solo se transfieren los cambios, no el archivo completo. |
| Seguridad | Uso de SSH para transferencias seguras |
| Alta velocidad | Debido al algoritmo de transferencia delta |
| Profesional y amigable con el servidor | La 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:
Ejemplo local sencillo:
Cree dos carpetas de prueba en el sistema local
Implementación:
En este caso, solo el contenido
directorio1Adirectorio2Lo 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:
Opción
-norteO--ejecución en secoSimula 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.

5. Enviar y recibir archivos entre el sistema local y el servidor
Enviar al servidor (Push)
Para sincronizar un directorio local con el servidor:
-a: Conservar los atributos del archivo~/directorio-local/: Ruta localusuario@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:
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--progresoy--parcialQue permite visualizar el progreso de la transferencia y permitir que se continúen las transferencias incompletas
Ejemplo:
--borrar:Eliminar archivos que existen en el destino pero que ya no existen en el origen (apto para duplicación)--excluiry--incluir: Filtrar archivos/carpetas para una interacción más precisa--respaldoy--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:
Ejemplo de un cronjob diario para sincronización:
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 ry utilizar directoriosConfiguració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 secoPara una revisión detalladaEliminación no deseada de archivos:Solo cuando estemos absolutamente seguros de
--borrarVamos a usarloErrores de permisos: con
-aMantener 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.









