我尝试使用以下命令(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
答案 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 /日志/消息
非常感谢您的帮助