rsyncのボーレート出力を保存してグラフ表示

rsyncのボーレート出力を保存してグラフ表示

実行するとrsync -P <source> <destination>コピー中の転送速度が出力され、1秒ごとに更新されることがわかります。しかし、それはラインで発生します。時間の経過とともに転送速度をグラフ化し、進捗状況を確認するためにすべてのテキスト出力をどのように保存しますか?

X分以内に100GBファイルの問題を解決して移動していますが、ある時点でファイルが400MB/秒に爆発し、時にはKB/秒に落ちたりもしました。 X分間何が起こっているのか、どのように進行しているのか知りたいです。これは実行されます... Microsoft Windowsと同様に、コピープロセス中に表示されるポップアップウィンドウを使用して、転送速度がどれだけ高いか低いかを視覚的に確認できます。

答え1

^M更新後は、(戻り)文字で進行線が繰り返されます。したがって^M、必要に応じて改行文字に変換して進行線を特定できます。

$ rsync -P <source> <destination> | sed 's/\x0d/\x0a/g' | grep %
         32,768   0%    0.00kB/s    0:00:00
    171,311,104  74%  163.34MB/s    0:00:00
    230,258,742 100%  159.33MB/s    0:00:01 (xfr#1, to-chk=0/1)

or something like this, but at this point you can refine according to your needs:
$ rsync -P <source> <destination> | sed 's/\x0d/\x0a/g' | grep %|tail -n +2|awk '{print NR,$3}'
1 163.34MB/s
2 159.33MB/s

関連情報