web-dev-qa-db-ja.com

SSH経由のRsync-sshまたはrsyncのタイムアウト?

スクリプトの実行中にWAN接続をランダムなポイントでリセットする安っぽいISPを扱っています。転送をこのリセット後も存続させて続行したいのですが、このスクリプトを手動で起動するのではなく、 cron /現在起動中。

以下に示すように、かなり基本的なスクリプトがあります。

rsync -rltv --progress --partial -e "ssh -i <key> -o ConnectTimeout=300" <remotedir> <localdir>

代わりにrsyncセクションにタイムアウトを入れるほうがいいですか?

例えば:

rsync -rltv --progress--partial --timeout=300 -e "ssh -i <key>" <remotedir> <localdir>

ありがとう!

16
user1753780

ConnectTimeoutは、SSHがサーバーとの接続を確立しようとしている場合にのみ適用され、データ転送中のタイムアウトとは何の関係もありません。したがって、--timeoutオプションを使用して目的を実行する必要があります。

17
Barmar

Rsyncを再実行してみてください。また、sshオプションなしで試してください。ネットワーク接続が失われたため、ジョブが失敗した可能性があります。 cronを介して2時間ごとに実行されているデータセンター間でファイルをコピーするrsyncジョブがあり、1日に約1回失敗します。

0
david tooke