用于从日志中获取数据的单行命令



我有 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 时回显消息。

tail -f log.file | awk '$NF > 140 { print }'

持续监视文件;当一行的最后一列超过 140 时,打印它。

无论如何,这将适用于一些更简单的用途。 有些问题可能会使它更加成问题。 如果将awk的输出发送到文件(或终端以外的任何内容),则可能无法及时写入输出。

你也可以像这样使用perl。

$ tailf Apache.log | perl -anle 'if($F[2] > 140){print}'
00:04:01 up 150

或者你也可以使用弹性搜索并根据需要处理输入数据。

如果您想定期监视它,则可以在终端中使用监视命令或在conky应用程序中添加一个进程以在桌面上显示

最新更新