Ich habe versucht herauszufinden, ob die Option -e erforderlich ist. Kann ich ohne sie nicht SSH verwenden, wenn ich sie einfach user@server
beim Ausführen von rsync ausführe?
Antwort1
Vorausgesetzt, Sie müssen das rsync
Protokoll selbst nicht berücksichtigen, hängt dies von den für Ihre Version von verwendeten Kompilierungsoptionen ab rsync
.
Früher wurde rsync
das rsh
Protokoll standardmäßig verwendet (es sei denn, die Standardeinstellung zur Build-Zeit wurde geändert), aber ssh
im Jahr 2004 wurde die Standardeinstellung zur Build-Zeit geändert.
Wenn Sie Zweifel haben, starten Sie den rsync
Vorgang mit der Übertragung einer relativ großen Datei (oder einer Sammlung von Dateien) und führen Sie in einem anderen Terminal aus ps -ef | grep '[r]sync'
. Dadurch wird angezeigt, ob Sie ssh
für einen Transport verwenden oder nicht. Hier ist ein Beispiel von einem meiner Server, das den ssh
Transport deutlich zeigt:
root 28057 27173 1 09:48 pts/4 00:00:00 rsync -avHP --dry-run /home roaima@otherserver:
root 28058 28057 0 09:48 pts/4 00:00:00 ssh -l roaima otherserver rsync --server -vnlHogDtpre.iLsfx --partial . .
Beachten Sie abschließend, dass die Kompilierungsvorgabe mit der RSYNC_RSH
Umgebungsvariable überschrieben werden kann. (Weitere Einzelheiten finden Sie auf der Manpage.)
Antwort2
-e
ist für den Fall, dass Sie eine Remote-Shell wünschenaußerder Standard ssh
. rsync
verwendet ssh
als Transportmittel standardmäßig, kann aber jede Remote-Shell verwenden (mit ein paar Einschränkungen*), es ist egalWieEs stellt eine Verbindung zu einem Remote-Server her.
* Die Remote-Shell, die Sie verwenden, muss sich wie eine Shell verhalten. Sie muss ihr nulltes Argument als Ziel interpretieren und jedes folgende Argument als auszuführenden Befehl; der Befehl, den rsync über die Remote-Shell übergibt, ist ein rsync --server …
Befehl, der einen rsync-Server auf der Remote-Seite startet. Außerdem muss sie ihrenSTDINzum KommandoSTDINund der BefehlSTDOUTZuSTDOUT, damit rsync und der Rsync-Server über die Remote-Shell kommunizieren können.