我有apache日志,每分钟更新一次这样的
Apache.log
00:00:01 up 137
00:01:01 up 132
00:02:01 up 137
00:03:01 up 134
00:04:01 up 150
我想要一个行命令或一个小的Unix脚本,只要最后一列值超过140就会回显消息,就像在最后一行一样,脚本仍然继续运行。
所以简而言之,我希望脚本/命令每分钟监视一次这个日志,并在最后一列值超过140时回显一条消息。
答案 0 :(得分:3)
tail -f log.file | awk '$NF > 140 { print }'
持续监控文件;如果最后一列中的行数超过140,请将其打印出来。
无论如何,这将适用于一些更简单的用途。有些问题可能会使问题更严重。如果将awk
的输出发送到文件(或终端以外的任何其他内容),则可能无法及时写入输出。
答案 1 :(得分:0)
您也可以像这样使用perl。
$ tailf Apache.log | perl -anle 'if($F[2] > 140){print}'
00:04:01 up 150
或者您也可以使用elasticsearch并根据需要处理输入数据。
答案 2 :(得分:0)
如果你想定期监视它,你可以在终端中使用watch命令或在conky应用程序中添加一个进程以在桌面上显示