かなり大きなファイル(20Gb)のアップロード/ダウンロードにrsyncを使用しています。私は--progressオプションを知っていますが、私の場合、それが何をするかは、最後に結果を表示するだけです。
私の問題は、いくつかの不安定な接続の間に-それがまだダウンロード/アップロードしているか、何かがうまくいかなかったかわかりません。個々のファイルの進行状況バーを表示する方法はありますか?デフォルトでwgetが行うことと似ていることは何ですか?
ありがとう!
これはあなたが求めているものかもしれません。
% rsync -avvz --times --stats --checksum --human-readable --acls \
--itemize-changes --progress \
--out-format='[%t] [%i] (Last Modified: %M) (bytes: %-10l) %-100n' \
/usr/include/glib-2.0 my-glib-copy/
スイッチの内訳は次のとおりです。
注:上記のスイッチの詳細については、rsync
およびrsyncd.conf
のマニュアルページを参照してください。
上記のコマンドは、次のトランスクリプトを生成します。
sending incremental file list
delta-transmission disabled for local transfer or --whole-file
[2012/12/23 21:34:46] [cd+++++++++] (Last Modified: 2010/12/19-08:13:31) (bytes: 4096 ) glib-2.0/
[2012/12/23 21:34:46] [>f+++++++++] (Last Modified: 2010/09/30-15:02:30) (bytes: 1511 ) glib-2.0/glib-object.h
1.51K 100% 0.00kB/s 0:00:00
1.51K 100% 0.00kB/s 0:00:00 (xfer#1, to-check=181/183)
[2012/12/23 21:34:46] [>f+++++++++] (Last Modified: 2010/09/30-15:02:30) (bytes: 2910 ) glib-2.0/glib.h
2.91K 100% 2.78MB/s 0:00:00
2.91K 100% 2.78MB/s 0:00:00 (xfer#2, to-check=180/183)
[2012/12/23 21:34:46] [>f+++++++++] (Last Modified: 2010/09/30-15:02:31) (bytes: 3613 ) glib-2.0/gmodule.h
3.61K 100% 3.45MB/s 0:00:00
3.61K 100% 3.45MB/s 0:00:00 (xfer#3, to-check=179/183)
...
...
[2012/12/23 21:34:46] [>f+++++++++] (Last Modified: 2010/09/30-15:02:31) (bytes: 8431 ) glib-2.0/gobject/gvaluecollector.h
8.43K 100% 141.96kB/s 0:00:00
8.43K 100% 141.96kB/s 0:00:00 (xfer#178, to-check=1/183)
[2012/12/23 21:34:46] [>f+++++++++] (Last Modified: 2010/09/30-15:02:31) (bytes: 8507 ) glib-2.0/gobject/gvaluetypes.h
8.51K 100% 143.23kB/s 0:00:00
8.51K 100% 143.23kB/s 0:00:00 (xfer#179, to-check=0/183)
total: matches=0 hash_hits=0 false_alarms=0 data=1305506
rsync[2996] (sender) heap statistics:
arena: 540672 (bytes from sbrk)
ordblks: 3 (chunks not in use)
smblks: 7
hblks: 2 (chunks from mmap)
hblkhd: 401408 (bytes from mmap)
allmem: 942080 (bytes from sbrk + mmap)
usmblks: 0
fsmblks: 592
uordblks: 404784 (bytes used)
fordblks: 135888 (bytes free)
keepcost: 134240 (bytes in releasable chunk)
rsync[2999] (server receiver) heap statistics:
arena: 286720 (bytes from sbrk)
ordblks: 2 (chunks not in use)
smblks: 8
hblks: 3 (chunks from mmap)
hblkhd: 667648 (bytes from mmap)
allmem: 954368 (bytes from sbrk + mmap)
usmblks: 0
fsmblks: 672
uordblks: 174480 (bytes used)
fordblks: 112240 (bytes free)
keepcost: 102352 (bytes in releasable chunk)
rsync[2998] (server generator) heap statistics:
arena: 233472 (bytes from sbrk)
ordblks: 4 (chunks not in use)
smblks: 6
hblks: 2 (chunks from mmap)
hblkhd: 401408 (bytes from mmap)
allmem: 634880 (bytes from sbrk + mmap)
usmblks: 0
fsmblks: 448
uordblks: 83152 (bytes used)
fordblks: 150320 (bytes free)
keepcost: 131120 (bytes in releasable chunk)
Number of files: 183
Number of files transferred: 179
Total file size: 1.31M bytes
Total transferred file size: 1.31M bytes
Literal data: 1.31M bytes
Matched data: 0 bytes
File list size: 6.30K
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 350.39K
Total bytes received: 3.43K
sent 350.39K bytes received 3.43K bytes 707.64K bytes/sec
total size is 1.31M speedup is 3.69
私はこのSFの質問に出くわしました:
回答の1つ は、新しいバージョンのrsync
で進行状況バーがサポートされるようになったと述べました。次のようになります。
% ./rsync -a --info=progress2 /usr .
305,002,533 80% 65.69MB/s 0:00:01 xfr#1653, ir-chk=1593/3594)
この進行状況バーには、転送中の個々のファイルのステータスは表示されませんが、全体的な転送のパーセンテージが表示されるため、役立つ場合があります。
rsync -vP
は私のために働きます。
man page から:「-Pは--partial --progressと同じ」
デーモンモードでrsyncを使用していますか? (Debian 6での)rsyncのデフォルトの動作は、要求したとおりです。ただし、rsyncd.confのマニュアルページで、デーモンモードでのデフォルトの動作は次のようになっています。
転送ログ
このパラメーターは、ftpデーモンで使用される形式にやや類似した形式で、ダウンロードおよびアップロードのファイルごとのロギングを有効にします。デーモンは常に転送を最後にログに記録するため、転送が中止された場合、ログファイルには何も記述されません。
ログ行をカスタマイズする場合は、「ログ形式」パラメーターを参照してください。
したがって、デーモンモードでrsyncを使用する場合、rsyncd.confに「転送ログ」の行を追加する必要があるようです。
Pipe Viewerが必要だと思います: https://code.google.com/p/pipeviewer/