sincronizar


rsync es una utilidad para transferir y sincronizar archivos de manera eficiente entre una computadora y una unidad de almacenamiento y entre computadoras en red al comparar los tiempos de modificación y los tamaños de los archivos. [9] Se encuentra comúnmente en sistemas operativos similares a Unix y está bajo la licencia GPL-3.0 o posterior . [5] [6] [10] [11] [12] [13]

Rsync está escrito en C como una aplicación de un solo subproceso . [14] El algoritmo rsync es un tipo de codificación delta y se usa para minimizar el uso de la red. Zlib se puede usar para compresión de datos adicional , [9] y SSH o stunnel se pueden usar para seguridad. Rsync es la función que se utiliza normalmente para sincronizar repositorios de software en sitios espejo utilizados por los sistemas de gestión de paquetes . [15] [16]

Rsync se usa típicamente para sincronizar archivos y directorios entre dos sistemas diferentes. Por ejemplo, si se ejecuta el comando rsync local-file user@remote-host:remote-file, rsync usará SSH para conectarse como usera remote-host. [17] Una vez conectado, invocará el rsync del host remoto y luego los dos programas determinarán qué partes del archivo local deben transferirse para que el archivo remoto coincida con el local.

Rsync también puede operar en un modo daemon (rsyncd), sirviendo y recibiendo archivos en el protocolo rsync nativo (usando la sintaxis "rsync://").

Andrew Tridgell y Paul Mackerras escribieron el rsync original, que se anunció por primera vez el 19 de junio de 1996. [1] Es similar en función e invocación a rdist ( rdist -c), creado por Ralph Campbell en 1983 y publicado bajo Berkeley Software Distribution . [18] Tridgell analiza el diseño, la implementación y el rendimiento de rsync en los capítulos 3 a 5 de su Ph.D. tesis en 1999. [19] Actualmente es mantenida por Wayne Davison. [2]

Debido a la flexibilidad, velocidad y capacidad de secuencias de comandos de rsync, se ha convertido en una utilidad estándar de Linux, incluida en todas las distribuciones populares de Linux. Ha sido portado a Windows (a través de Cygwin , Grsync o SFU [20] ), FreeBSD , [21] NetBSD , [22] OpenBSD , [23] y macOS .