Früher habe ich immer den folgenden Befehl verwenden , wenn von einem Server zu kopieren:
rsync --progress -avze ssh user@host:/path/to/files ./here
. Ein Freund hat mir jedoch gezeigt, dass ich das einfach kann rsync --progress -avz user@host:/path/to/files ./here
. Die Frage ist also, wenn Sie nicht brauchen, -e ssh
warum gibt es es überhaupt?
-i
in Ihrem Beispiel eine Option für ssh oder rsync? Und wenn es für ssh ist, funktioniert es ohne die einfachen Anführungszeichen um den Befehl?Sie brauchen -e ssh nicht, um ssh zu verwenden. Wenn Sie das Ziel als user @ host: / path / to / files angeben, verwenden Sie standardmäßig ssh. Es bleibt a) aus Kompatibilitätsgründen und b) in Randfällen, in denen Sie möglicherweise eine Kombination aus rsyncd- und ssh-Hosts haben.
quelle
Dies hängt davon ab, was
--with-rsh
bei der Kompilierung für die Option configure angegeben wurde. Der Standardwert ist jetzt ssh, wenn diese Option nicht angegeben wurde. Es war in der Vergangenheit schon einmal rsh, aber selbst wenn es rsh ist, könnte es nicht notwendig sein, da ssh auf vielen Boxen die Standard-rsh-Implementierung sein könnte. Auf allen meinen Rechnern zeigt sich zum Beispielreadlink -f $(which rsh)
, dass rsh eigentlich nur ein Symlink ist, der auf / usr / sbin / ssh verweistquelle