GNU/Linux >> Linux の 問題 >  >> Linux

ファイルが正常に転送されるまで rsync を繰り返し呼び出す方法

解決策 1:

1 回の同期ですべてを同期する場合は、rsync が成功のリターン コードを返すまでループ内で rsync を呼び出します。

次のようなもの:

RC=1 
while [[ $RC -ne 0 ]]
do
   rsync -a .....   
   RC=$?
done

これは、リターン コード 0 が返されるまで、rsync を呼び出してループします。サーバーに DOS を実行しないように、そこにスリープを追加することをお勧めします。

解決策 2:

私はしばらく前にこの同じ問題に遭遇しました。最後に、私はDavidの答えに似たものを書きましたが、Ctrl-Cに応答するなど、最大の再試行で少し掘り下げました: http://blog.iangreenleaf.com/2009/03/rsync-and-retrying- until-we-get-it.html.

解決策 3:

sshpass でまとめて削除

while ! sshpass -p 'xxxx' rsync --partial --append-verify --progress -a -e 'ssh -p 22' /source/ example@unixlinux.online:/dest/; do sleep 5;done

Linux
  1. Rsyncで転送されたファイルのみをログに記録しますか?

  2. Rsyncを選択的に消音する方法は?

  3. LinuxでRsyncコマンドを使用するにはどうすればよいですか?

  1. rsync を使用してデフォルトでファイルを除外するにはどうすればよいですか?

  2. rsync がすべてのファイルを転送しない理由は?

  3. Linux Web サーバーのスペースの 80% を占めているファイルを見つけるにはどうすればよいですか?

  1. ディレクトリ内の ._ ファイルを削除するには? Ubuntu

  2. ファイルのテキストリストからの Linux (mv または cp) 固有のファイル?

  3. SCP転送のみ変更されたファイル