我想用下面的命令(grep和sed)检查最近10个小时/ var / log / messages中的更改。 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
假设你在一个基于SystemD的Linux上,你可以使用journalctl
而不是/var/log/messages
的直接文件访问。
journalctl
支持一个--since/-S
选项,它接受根据systemd.time(7)
(手册页)格式化的时间戳。 所以对于你的情况,你可以简单地使用-10h
作为“十小时前”:
journalctl -S-10h
用下面的命令解决
awk -v d1 =“$(date –date =” – 600 min“”+%b%_d%H:%M“)”-v d2 =“$(date”+%b%_d%H:% M“)”'$ 0> d1 && $ 0 <d2 || $ 0〜d2'/ var / log / messages
非常感谢你的帮助