web-dev-qa-db-ja.com

Rsyncは、io.c(837)でエラーメッセージの原因不明のエラー(コード255)を作成します

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]

私のコマンドの何が問題になっていますか?

10
Alex

調査するには、1つ以上の-vオプションをrsyncコマンドに追加します。また、プレーンsshを使用してみてください。

ssh -v 192.168.1.21 /bin/true

トラブルの原因となっているのがrsyncであるか、基盤となるssh接続であるかを確認します。

6
Arjen

255は実際には「ネイティブ」rsync戻りコードではありません。 rsyncは、SSHから255エラーコードを取得して返します。宛先サーバー上の何かがSSHをブロックしている、または接続後に切断しているように見えるため、「パイプが壊れています」。 @kenorbには同意しません。タイムアウトの問題であれば、おそらくrsync終了コード30または35が表示されるからです。

2
medley56

rsyncアプリのデプロイを介してEmberを使用して同様のエラーが発生しました(ember-cli-deploy)。 sshを正しく構成する必要がありました(~/.ssh/に秘密鍵を追加します)

1
morhook

パイプの破損エラーは、おそらくタイムアウトに達したことを意味します。たとえば、リモートrsyncコマンドはファイルの差分の計算を開始しましたが、時間どおりにクライアントに応答しませんでした。

これが頻繁に発生する場合は、これらの設定をローカル~/.ssh/configに追加してください。

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 6

リモートサーバー(アクセス権がある場合)で、/etc/ssh/sshd_configでこれらをセットアップします。

ClientAliveInterval 30
ClientAliveCountMax 6

参照: オプションServerAliveIntervalおよびClientAliveIntervalの意味?

1
kenorb

私はこの問題が古いことを知っていますが、おそらく(私のような)誰かがまだエラーを抱えています。

a)sshサービスが実行されているかどうかを確認します。

Sudo service ssh status

b)triple verboseコマンドで接続を確認します。

ssh -vvv <hostname>

c)間違ったssh-keyを使用しているか、キーが何らかの方法で壊れている可能性があります。

ぶどうの木

0
vine