ssh 経由で rsync を使用してドライランを実行するにはどうすればよいでしょうか?

ssh 経由で rsync を使用してドライランを実行するにはどうすればよいでしょうか?

-nリモート サーバーで ssh 経由のオプションを使用してドライ ランを実行しようとしたときに、次のエラーが発生しました。

# rsync --progress --delete -avhHen ssh /etc/yum [email protected]:/etc
rsync: Failed to exec n: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(85) [sender=3.1.0]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in IPC code (code 14) at io.c(226) [sender=3.1.0]

ssh 経由の rsync を使用して上記のコマンドのドライ ランを実行するにはどうすればよいですか?

答え1

rsync: Failed to exec n: No such file or directory (2)

そこにほぼ説明があります...

オプション-e(長いバージョン:--rsh=)は、続く宛先マシン上のシェルとしてコマンドを実行します。

次のように伝えました:-e n指定したオプションの順序を確認してください。( -avhHen)

順序を逆にすると、neの重複した使用が-e ssh希望どおりに機能します。

答え2

ここで問題なのはrsyncの-eオプションは、コマンド ライン上の次の「もの」としてリモート シェルを想定しています。ここでは ですがn、それ以前は でしたssh

通常、-e を独自のオプションとして分割し、次のように記述します。

rsync --progress --delete -avhHn -e ssh /etc/yum [email protected]:/etc

しかし、単に前のものを移動することもできますne最後このように使用する場合は、短いオプションのグループ内のオプションを使用します。

関連情報