linux - 脚本的多个输出到一个速率
问题描述
在进行系统管理时,我经常编写单行代码来获取进程的状态,或者一些值,例如已用磁盘空间、处理的文件数或剩余秒数(例如复制)。我使用watch
循环中的或回显之类的工具date
来实时评估状态。
通常我知道我正在观察的值的结果:它会上升到一个定义的数字,或者为零。要计算完成的预期时间(某些过程需要几个小时),我会将一些时间戳和值放在电子表格中,计算时间戳之间值的一些增量或减量率,然后平均速率并推断以估计预期进程的结束时间。
我正在寻找一种方法来自动执行此操作,就像pv为管道执行此操作一样。我希望它能够像这样工作:
$ rate --expected-value=0 --interval=10 "mysql -e 'show slave status' -E | grep Seconds_Behind_Master | awk '{print $2}'"
Fri May 31 10:31:48 CEST 2019 | value: 52952
Fri May 31 10:31:58 CEST 2019 | value: 52918 | rate: 3.4/s | ETA: 10:57:27
Fri May 31 10:32:08 CEST 2019 | value: 52886 | rate: 3.2/s | ETA: 10:58:29
或者另一个例子:
$ rate --unit byte --interval=1 "stat / -f -t | awk '{print $9}'"
Fri May 31 10:58:03 CEST 2019 | value: 11908091
Fri May 31 10:58:04 CEST 2019 | value: 11829190 | rate: 78900 bytes/s
这些当然是例子,虚构的rate
效用是不存在的。我可以自己构建它,但我想知道是否有一个现有的实用程序(我还没有找到)可以做到这一点,也许是一个库,或者一个可以做类似事情的简单单线。
解决方案
推荐阅读
- angular - 在 datepicker 中添加 TODAY 和 TOMORROW 选项
- android - 应用链接路径Patten
- python - 无法使用 python xlsxwriter 在 excel 中更改字体颜色
- php - php - create_function 重构
- php - 如何在 wampserver 的 phpadmin 中将此数据数组插入 mysql
- vba - 单击报告背景时出现 MS Access 灰色框
- java - Jolokia 上每个线程的 CPU 使用率?
- java - 使用 MediatorLiveData 合并到 LiveData (Firestore) QuerySnapshot 流会产生奇怪的结果
- python - 如何在具有特定首字母和最后一个字母的字符串中查找子字符串?
- mysql - 使用 SQL 匹配日期