显示日志的添加速度

时间:2013-11-11 14:40:15

标签: unix sed grep pipe tail

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

tail -f access.log

我希望能够显示添加到该日志的条目的当前平均每秒/分钟速度。 是否可以通过使用tail和pipe-in​​g到另一个命令(grep,sed,wc)来简单地完成它,或者我是否需要考虑另一种获取此数据的方法? 谢谢!

1 个答案:

答案 0 :(得分:2)

要实时连续更新每秒的行数,请使用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++ }'