2つのパラメータを使用するツールを探しています。
- 実行するコマンドと
- 目標値
その後、ツールはコマンドを継続的に実行し、コマンド出力で数字を見つけ、その数値が目標値に達するのにかかる時間を推定する必要があります。
(すでに知っていたpv
そしてprogress
ただし、これはそれぞれパイプおよびcoreutilツールを介して送信されるデータに制限されます。私はもっと一般的なものを探しています。 )
例:ファイル転送を追跡したいとしましょうscp
。その後、送信側でサイズを確認し、du -b
受信側で実行を続けます。次のようになります。
$ du -bs source_directory
5798324564
$ *sometool* 5798324564 "ssh someserver du -bs destination_directory"
2019-01-28 21:03:10 - 23.2% - ETA 22:15:10 (1h 12m)
2019-01-28 21:03:40 - 26.3% - ETA 22:14:57 (1h 11m)
2019-01-28 21:04:10 - 29.3% - ETA 22:14:49 (1h 10m)
...
<continous output until 100% is reached>
...
2019-01-28 22:15:05 - 100% - done.
$
ある意味では、与えられたコマンドを繰り返し実行するのと似ていますwatch
が、違いは印刷コマンドの出力は次のとおりです。進捗価値を探す出力からETAを計算します。
答え1
これを行うツールがあります。それは知られていますeta
。
例は次のとおりです。
以下はいくつかのリソースです。
- エタGitHubリポジトリ(詳細な使用例はREADME.mdを参照してください)
- エタのマニュアルページ