¿Cuál es la necesidad de un server rsync en modo daemon?

No entiendo la necesidad de un server rsync en modo daemon. ¿Cuáles son los beneficios si puedo usar rsync con SSH o Telnet?

Muchos, pero citaré algunos sobre mi cabeza.

  1. Qué pasa si ssh / rsh no están disponibles en el server remoto o si están rotos en términos de configuration o reglas de networking más estrictas. El uso de rsh / ssh aún requeriría al cliente (depende del rol del emisor o el receptor), sin embargo, el lado remoto tendría que bifurcar localmente el rsync binary y establecer la connection con el process rsync que se ejecuta en el lado local. rsh / ssh simplemente proporcionaría un túnel de connection. En lo que respecta a rsync, rsync se está comunicando con el otro process rsync sobre la (s) tubería (s).

  2. Tener un process rsync en modo daemon haría que el server fuera un verdadero server ftp similar al que algunos de los filesystems pueden estar disponibles a través de modules rsync. Todo lo demás puede ser evitado. Me gustaría hacer disponible / usr / local y / var solo para download y rechazar cualquier otra request del cliente de rsync para la descarga de files. Puedo usar la discreción en el nivel del host o en el nivel del sistema de files (modules) para permitir la carga o la descarga (solo lectura).

  3. Puede controlar los modules de host / nivel de usuario, authentication, autorización, logging y sistema de files (estructura) para download / cargar específicamente a través de un file de configuration. Y cada vez que se realiza un cambio en el file de configuration, rsyncd --daemon no necesita reiniciarse o HUPped . También puede controlar cuántos clientes pueden conectarse al process del server rsync a la vez. Esto es bueno ya que no quiero que mi process de server rsyncd acapare completamente el host sobre las operaciones basadas en la CPU o en el disco.

  4. la funcionalidad chroot puede estar disponible a través de la configuration para rsyncd en modo daemon. Puedo usar esto como una característica de security bastante clara si quiero evitar que los clientes se conecten a mi rsyncd para cualquiera de los files / filesystems que deben estar seguros en el host y no deben tener acceso externo.

  5. Puedo negar abiertamente algunas de las opciones utilizadas por el cliente rsync y no entretenerme en el extremo del server. Al igual que no permitir --delete es posible.

  6. Puede tener una opción para ejecutar algunos commands / scripts antes y después del process de synchronization de datos. Ejemplo: Útil para informar y almacenar las statistics de rsync en el modo de transferencia posterior.

Estos son algunos de ellos, pero estoy seguro de que los usuarios expertos de rsync pueden arrojar más luz sobre esto.

  1. Experimenté un problema al intentar sincronizar una carpeta grande entre una máquina Linux y una máquina Windows usando cygwin. Después de dejar el túnel SSH a favor de usar el daemon rsync, mis problemas desaparecieron.

  2. El cliente no necesita saber el layout del sistema de files, etc. del server que está empujando / tirando a / desde

Un uso común de rsync es reflejar files públicos de files. El operador de la copy primaria no quiere permitir el acceso de shell remoto al file, pero quiere que los voluntarios que ejecutan los duplicates remotos puedan get de manera eficiente una copy completa de los files. Rsync funciona muy bien para crear un espejo ya que solo downloadá bits cambiados, y si hay una pequeña interrupción en la networking, no volverá a download un file grande completo (imágenes de cd / dvd).

El protocolo bit torrent en realidad puede ser una mejor opción para esto ahora, pero rsync fue lanzado muchos años antes.

Incluso ahora muchos files importantes todavía usan rsync para espejos.

Ver: http://www.debian.org/mirror/ftpmirror

El protocolo de duplicación que recomendamos es rsync.

Puede proporcionar services de rsync a una extranet y permitir sincronizaciones de esa manera sin tener que exponer ssh.

En el modo daemon, rsync calcula de manera rentable las sums de verificación locales más rápido y, por lo tanto, es mejor suite si espera múltiples clientes paralelos. Con el command independiente, se deben volver a calcular las sums de comprobación para cada session.

SSH proporciona una sobrecarga debido, por ejemplo, al uso de encryption. En teoría, debería get un mayor performance con un daemon de server rsync.