Rsync -e-Option für SSH

Rsync -e-Option für SSH

Ich habe versucht herauszufinden, ob die Option -e erforderlich ist. Kann ich ohne sie nicht SSH verwenden, wenn ich sie einfach user@serverbeim Ausführen von rsync ausführe?

Antwort1

Vorausgesetzt, Sie müssen das rsyncProtokoll selbst nicht berücksichtigen, hängt dies von den für Ihre Version von verwendeten Kompilierungsoptionen ab rsync.

Früher wurde rsyncdas rshProtokoll standardmäßig verwendet (es sei denn, die Standardeinstellung zur Build-Zeit wurde geändert), aber sshim Jahr 2004 wurde die Standardeinstellung zur Build-Zeit geändert.

Wenn Sie Zweifel haben, starten Sie den rsyncVorgang 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 sshfür einen Transport verwenden oder nicht. Hier ist ein Beispiel von einem meiner Server, das den sshTransport 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_RSHUmgebungsvariable überschrieben werden kann. (Weitere Einzelheiten finden Sie auf der Manpage.)

Antwort2

-eist für den Fall, dass Sie eine Remote-Shell wünschenaußerder Standard ssh. rsyncverwendet sshals 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.

verwandte Informationen