スクリプトを使用してSudo crontab
でrsyncを実行していました。スクリプトは、双方向の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スクリプトは問題なく期待どおりに動作します。助けてください。
rsync
接続が予期せず閉じられる原因の1つは、特にリモートホストの違いを確認するためにファイルチェックサムを計算するのに時間がかかる場合のタイムアウトの問題です。
この問題を回避するには、これらの設定を~/.ssh/config
または/etc/ssh/ssh_config
に追加する必要があります。
Host *
ServerAliveInterval 30
ServerAliveCountMax 6
オプションで、リモートサーバー(/etc/ssh/sshd_config
内)でも同様です。
ClientAliveInterval 30
ClientAliveCountMax 6
これは、接続が拒否されたときに発生するようです。
ssh:ホストポート2222に接続:接続が拒否されました
rsync
エラーが続く:
rsync:接続が予期せず閉じました(これまでに0バイトを受信しました)[レシーバー] rsyncエラー:/SourceCache/rsync/rsync-45/rsync/io.c(453)での原因不明のエラー(コード255)[レシーバー= 2.6.9]
考えられる理由:
関連情報がほとんどないことを考えると、少し難しいですが、一般的なルールとして、コマンドがプロンプトからは機能するがcronジョブからは機能しない場合は、完全なパスを指定する必要があるためです。コマンド。 cronジョブには通常のユーザー環境がありません。これは特に、通常のユーザーと同じPATHを持っていないことを意味します。
Fail2banリストをご覧ください。
コマンド「fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE」を使用して禁止を解除し、再試行してください。