Risposte:
Penso che la grande differenza sia che se si utilizza rsyncd
sul lato server, anziché su rsync
over ssh
, il server sa già cosa ha, quindi creare gli elenchi di file per determinare ciò che deve essere trasferito è molto più semplice. Non farà differenza se stai solo spostando alcuni file, ma se stai rendendo, ad esempio, CPAN disponibile su rsync, non devi creare l'elenco di file sul lato sorgente ogni tempo.
Questa è una vecchia domanda, ma c'è un'altra ragione molto valida per l'utilizzo rsync
in modalità demone rispetto a ssh:
Ho un NAS da 10 TB di cui è stato eseguito il backup su un altro NAS da 10 TB e l'overhead di crittografia solo per il tunnel SSH è il fattore limitante per il trasferimento. Entrambi i NAS sono Intel Atomi da 1,8 Ghz a bassa potenza e anche con opzioni di crittografia più semplici per ssh (ad esempio ssh -c arcfour
passate come chiamata ssh a rsync), l'overhead di crittografia risulta comunque al massimo 200-300 Mbps, su una rete Ethernet Gigabit.
L'uso di un demone rsync su un'estremità rimuove l'overhead crittografico e ottiene trasferimenti> 800 Mbps per file contigui di grandi dimensioni.
ssh -c arcfour
connessione che stavo usando.
Non credo che il confronto tra l'esecuzione di rsyncd e rsync su SSH abbia molto senso. Sono generalmente usati per cose completamente diverse.
rsync over ssh viene solitamente utilizzato per i backup o per la sincronizzazione di server su Internet. Di solito rsyncd viene utilizzato per cose come i mirror del software, quindi ha più senso confrontare rsyncd con un semplice mirror HTTP o FTP o addirittura bittorrent.
Esiste anche un software come zsync, che consente di ottenere molti dei vantaggi di rsync mentre si utilizza ancora un server HTTP standard
La funzione di rsyncd
è eseguire su un server e rispondere a rsync
richieste (remote) .
(quando diciamo rsyncd
che intendiamo rsync
correre come demone, e quando diciamo "remoto", intendiamo remoto dal punto di vista della macchina in esecuzione rsyncd
)
Entrambi userebbero ssh per parlarsi in modo sicuro.
Non è davvero una questione di usare l'uno o l'altro, anche se se rsync
viene usato per copiare file e directory sulla stessa macchina , non penso che debba essere eseguito come demone.
Penso che la rsync
pagina man chiarisca questo.
rsyncd (rsyncd con demone) utilizza per impostazione predefinita la porta 873.
Questo utilizzerà il protocollo rsync nativo, ma non crittografa nulla. È pensato solo per reti locali o affidabili.
Se vuoi sicurezza, devi sempre usare rsync o rsyncd su SSH, tutti i tuoi trasferimenti di dati saranno inseriti dal protocollo ssh.