リモートrsyncがパスにある場合、rsyncにはrsync-pathが必要です


11

リモートrsyncがパスにある場合でも、rsyncに--rsync-pathフラグが必要な理由について、私はかなり混乱しています。

検討してください:

$ rsync -avze 'ssh -p 22' --delete public/ pmatos@domain.com:~/public_html
bash: /usr/local/bin/rsync: No such file or directory
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(601) [sender=3.0.7]

次に--rsync-pathを追加してみました

$ rsync -avze 'ssh -p 22' --rsync-path=/usr/bin/rsync  --delete public/ pmatos@domain.com:~/public_html
sending incremental file list
...

したがって、最初のrsyncは/ usr / local / binでrsyncを検索していたため、成功しませんでしたが、-rsync-pathを使用してrsyncの明らかなパスを渡すとすぐに機能します。

どうしてこれなの?(このコマンドラインは、octopressのrake deployによって発行されたものです)


宛先側に強制コマンドがありますか?ローカル環境変数を設定する可能性がある.bashrcまたは.profileに何かありますか?
SmallClanger

$ cat ~/.bashrc | grep PATH何も返しません。
Paulo Matos

自分でsshを実行してwhich rsync何を実行するのですか?
SmallClanger、

2
$ ssh pmatos@domain.com which rsyncリターン/usr/bin/rsync
Paulo Matos

変だ。今、ストローをつかんでいます:おそらくあなたのローカルrsync aliasrsync --rsync-path(または他のローカルラッパー)にエディットされていますか?
SmallClanger

回答:


2

私の記憶はこれでかなりぼやけていますが、これが起こっていた理由は、ある時点でrsyncでGNU stowを使用し、rsyncsの場所を混乱させるシンボリックリンクを作成したためです。これは、多くの髪を引っ張った後に分類されました。私は今、髪の方がはるかに軽いですが、一方で働きがありrsyncます。あなたが私に尋ねたら、それは勝利だに違いない。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.