如何检查/ var / log / messages中的最后10小时更改

时间:2017-09-12 20:09:07

标签: linux file logging sed grep

我尝试使用以下命令(grep和sed)检查/ var / log / messages的最近10个小时更改。 Grep正在提取过去3天的所有数据。 Sed运行成功但没有结果。 有人可以帮助我使用这些命令或任何其他命令来检查日志文件中的更改。

sed -n "/^$(date '+%b %_d %H:%M' -d -10 hours)/,\$p" /var/log/messages

grep "^$(date +'%Y-%M-%d %H %M' -d -10 hours)" /var/log/messages

2 个答案:

答案 0 :(得分:1)

假设您使用的是基于SystemD的Linux,则可以使用journalctl 而不是/var/log/messages的直接文件访问。

journalctl支持接受时间戳的--since/-S选项 根据{{​​1}}(手册页)格式化。所以对你的情况 您只需使用systemd.time(7)作为"十小时前":

-10h

答案 1 :(得分:0)

使用以下命令解决

awk -v d1 =" $(日期 - 日期=" -600分钟"" +%b%_d%H:%M")&#34 ; -v d2 =" $(日期" +%b%_d%H:%M")" ' $ 0> d1&& $ 0< d2 || $ 0~d2'的/ var /日志/消息

非常感谢您的帮助