【问题标题】:Displaying a log's add speed显示日志的添加速度
【发布时间】:2013-11-11 14:40:15
【问题描述】:

我目前正在跟踪一个 nginx 访问日志,使用一个简单的 tail 命令。

tail -f access.log

我希望能够显示添加到该日志的条目的当前平均每秒/分钟速度。 是否可以通过使用 tail 和管道连接到另一个命令(grep、sed、wc)来简单地做到这一点,还是我需要考虑另一种获取这些数据的方法? 谢谢!

【问题讨论】:

    标签: unix sed grep pipe tail


    【解决方案1】:

    要获得每秒连续实时更新的行数,请使用pv 实用程序:

    tail -f -n 0 access.log | pv -lr > /dev/null
    

    请注意,pv 会不断地向终端写入更新,直到输入用完为止。如果您只想了解添加行的速率,事情会变得更复杂一些。这是我的尝试(采样时间为 5 秒):

    tail -f -n 0 access.log 2>/dev/null | perl -e '$SIG{ALRM} = sub { print $x/5.0; exit(0) }; alarm 5.0; while(<>) { $x++ }'
    

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 1970-01-01
      • 2013-10-26
      • 1970-01-01
      • 2017-02-28
      • 1970-01-01
      • 2017-12-06
      • 2012-07-12
      • 2021-08-02
      相关资源
      最近更新 更多