Antworten:
Ich denke, der große Unterschied ist, dass, wenn Sie rsyncd
auf der Serverseite verwenden , der Server bereits weiß, was er hat , anstatt zu rsync
Ende zu gehen ssh
. Das Erstellen der Dateilisten, um zu bestimmen, was übertragen werden muss, ist also viel einfacher. Es macht keinen Unterschied, wenn Sie nur ein paar Dateien verschieben, aber wenn Sie beispielsweise CPAN über rsync verfügbar machen, müssen Sie die Dateiliste nicht jedes Mal auf der Quellseite erstellen Zeit.
Dies ist eine alte Frage, aber es gibt einen anderen sehr gültigen Grund für die Verwendung rsync
im Daemon-Modus im Vergleich zu ssh:
Ich habe ein 10-TB-NAS, das auf einem anderen 10-TB-NAS gesichert ist, und der Verschlüsselungsaufwand nur für den SSH-Tunnel ist der begrenzende Faktor für die Übertragung. Bei beiden NASs handelt es sich um 1,8-GHz-Intel-Atome mit relativ geringem Stromverbrauch, und selbst mit einfacheren Kryptooptionen für ssh (z. B. ssh -c arcfour
als ssh-Aufruf an rsync übergeben) führt der Verschlüsselungs-Overhead in einem Gigabit-Ethernet-Netzwerk zu bestenfalls 200 bis 300 Mbit / s.
Die Verwendung eines rsync-Daemons an einem Ende beseitigt den Krypto-Overhead und erreicht Übertragungen mit> 800 Mbit / s für große, zusammenhängende Dateien.
ssh -c arcfour
Verbindung erhalten hatte , verdoppeln .
Ich halte es nicht für sinnvoll, rsyncd mit rsync über SSH zu vergleichen. Sie werden in der Regel für ganz andere Dinge verwendet.
rsync over ssh wird normalerweise für Sicherungen oder zum Synchronisieren von Servern über das Internet verwendet. Da rsyncd normalerweise für Software-Spiegelungen verwendet wird, ist es sinnvoller, rsyncd mit einem einfachen HTTP- oder FTP-Spiegel oder sogar mit Bittorrent zu vergleichen.
Es gibt auch Software wie zsync, mit der Sie viele der Vorteile von rsync nutzen können, während Sie noch einen Standard-HTTP-Server verwenden
Die Funktion von rsyncd
ist, auf einem Server zu laufen und auf (entfernte) rsync
Anfragen zu antworten.
(Wenn wir sagen, dass rsyncd
wir rsync
als Daemon laufen, und wenn wir 'remote' sagen, meinen wir remote aus der Sicht der laufenden Maschine rsyncd
)
Beide würden ssh verwenden, um sicher miteinander zu sprechen.
Es ist nicht wirklich eine Frage der Verwendung des einen oder anderen, obwohl ich glaube, dass es nicht als Daemon ausgeführt werden muss , wenn rsync
es zum Kopieren von Dateien und Verzeichnissen auf demselben Computer verwendet wird.
Ich denke, die rsync
Manpage verdeutlicht dies.
rsyncd (rsyncd mit Daemon) verwendet standardmäßig Port 873.
Dies verwendet das native rsync-Protokoll, verschlüsselt jedoch nichts. Es ist nur für lokale oder vertrauenswürdige Netzwerke gedacht.
Wenn Sie Sicherheit wünschen, müssen Sie immer rsync oder rsyncd über SSH verwenden, alle Ihre Datenübertragungen werden vom ssh-Protokoll eingegeben.