io.cでのrsyncエラーの原因不明のエラー(コード255)


8

スクリプトを使用してでrsyncを実行していましたsudo crontab。スクリプトは、双方向のrsyncを実行します(serverAからserverBへ、およびその逆)。両方のサーバーマシンを再起動した後、rsyncがで機能しませんsudo crontab。新しいcronjobもセットアップしましたが失敗します。エラーは次のとおりです。

rsync error: unexplained error (code 255) at io.c(600) [sender=3.0.6]
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]

ただし、ターミナルから実行すると、ryncスクリプトは問題なく期待どおりに動作します。助けてください。

回答:


3

関連情報がほとんどないことを考えると少し難しいですが、原則として、コマンドがプロンプトからは機能するがcronジョブからは機能しない場合は、コマンドへの完全パスを指定する必要があるためです。cronジョブには通常のユーザー環境がありません。これは特に、通常のユーザーと同じPATHを持っていないことを意味します。


私はrsync 2.6.8で同様の問題を抱えていました。明らかに、cronedトランスミッションをランダムに終了させたバグですが、そのエラーコードがあったかどうかは覚えていません。当時はCentOS 5.5でした。その後、新しいCentOSバージョンでrsyncが3.xに組み込まれ、問題は完全になくなりました。
David Ramirez

3

これは、接続が拒否されたときに発生するようです。

ssh:ホストポート2222に接続:接続が拒否されました

rsyncエラーが続く:

rsync:接続が予期せず閉じました(これまでに0バイトを受信しました)[レシーバー] rsyncエラー:/SourceCache/rsync/rsync-45/rsync/io.c(453)での原因不明のエラー(コード255)[レシーバー= 2.6.9]


考えられる理由:

  • 私のシナリオでは、ファイアウォールの問題がありました。穴をあけます。
  • 間違ったパスワード(問題に対処する可能性は低いですが、同じエラーが発生します)

3

rsync接続が予期せず閉じられる原因の1つは、特にリモートホストの違いを確認するためにファイルのチェックサムを計算するのに時間がかかる場合のタイムアウトの問題です。

この問題を回避するには、これらの設定を~/.ssh/configまたはに追加する必要があります/etc/ssh/ssh_config

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 6

オプションで、リモートサーバー(の場合)でも同様です/etc/ssh/sshd_config。たとえば、

ClientAliveInterval 30
ClientAliveCountMax 6

参照:オプションServerAliveIntervalClientAliveIntervalは何ですか?


0

fail2banリストをご覧ください。

コマンド「fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE」を使用して禁止を解除し、再試行してください。

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