rsync -qaPH source/ 192.168.1.21:/var/backups
をしようとすると
rsync: [sender] write error: Broken pipe (32)
rsync error: unexplained error (code 255) at io.c(837) [sender=3.1.0]
私のコマンドの何が問題になっていますか?
調査するには、1つ以上の-v
オプションをrsyncコマンドに追加します。また、プレーンsshを使用してみてください。
ssh -v 192.168.1.21 /bin/true
トラブルの原因となっているのがrsyncであるか、基盤となるssh接続であるかを確認します。
255は実際には「ネイティブ」rsync
戻りコードではありません。 rsync
は、SSHから255エラーコードを取得して返します。宛先サーバー上の何かがSSHをブロックしている、または接続後に切断しているように見えるため、「パイプが壊れています」。 @kenorbには同意しません。タイムアウトの問題であれば、おそらくrsync
終了コード30または35が表示されるからです。
rsync
アプリのデプロイを介してEmber
を使用して同様のエラーが発生しました(ember-cli-deploy)。 ssh
を正しく構成する必要がありました(~/.ssh/
に秘密鍵を追加します)
パイプの破損エラーは、おそらくタイムアウトに達したことを意味します。たとえば、リモートrsyncコマンドはファイルの差分の計算を開始しましたが、時間どおりにクライアントに応答しませんでした。
これが頻繁に発生する場合は、これらの設定をローカル~/.ssh/config
に追加してください。
Host *
ServerAliveInterval 30
ServerAliveCountMax 6
リモートサーバー(アクセス権がある場合)で、/etc/ssh/sshd_config
でこれらをセットアップします。
ClientAliveInterval 30
ClientAliveCountMax 6
私はこの問題が古いことを知っていますが、おそらく(私のような)誰かがまだエラーを抱えています。
a)sshサービスが実行されているかどうかを確認します。
Sudo service ssh status
b)triple verboseコマンドで接続を確認します。
ssh -vvv <hostname>
c)間違ったssh-keyを使用しているか、キーが何らかの方法で壊れている可能性があります。
ぶどうの木