ファイルのコピー中に全体の進行状況を表示する方法

ファイルのコピー中に全体の進行状況を表示する方法

rsyncに--progressパラメータを指定すると、ファイルコピーの進行状況が表示されることがわかります。ところで、問題は、全体の進捗状況や全体的な進捗状況ではなく、個々のファイルの進捗状況が表示されることです。

それでは、ファイルコピーの全体的な進行状況を確認する方法は?

答え1

完全な進行状況を表示するには、rsync最新バージョン(3.1.0から始まる)にオプションがあります--info=progress2rsync一般的な値を表示するには、ソースファイルと同じシステムで(またはNFSを使用して)実行する必要があります。-aまた、システムディレクトリをコピーする場合は、オプションを提供することを忘れないでください。

答え2

コメントにあるように、問題は質問を受けましたここ

だから…短い答え:できません。

編集する:これで、全体的な進捗状況を追跡する--info=progress2オプションがありますrsync(代替進行状況インジケーターを探しているか、詳しくは元の回答の残りの部分をお読みください)。

私は引用していますデビッド・マッキントッシュ:

フルプログレスインジケータを追加する簡単な方法はありません。

その理由は、rsyncが同期するファイルのリストを表示するときにどのファイルを変更する必要があるのか​​を事前に知ることができないためです。増分転送を実行する場合は、実行する必要がある操作の完全な図を取得する前に増分自体を計算する必要があります。

つまり、何をすべきかを計算する最も簡単な方法は、実際にやってみることです。


ただし、進行状況バーを持つことができます。転送されたファイル数を使用してくださいpv。自分がどれだけ持っているか既に知っている場合は、引用してください。霊度:

rsync -aix /source remote:/dest | pv -les $(df -i /source | perl -ane 'print $F[2] if $F[5] =~ m:^/:') >/dev/null

答え3

同期進行状況のあるステータスバーを表示するrsyncラッパー。

同期

関連情報