我正在尝试通过 IPA 主机的日志文件来获取最后五分钟的内容并获取有关新用户创建或 DNS 更改等内容的更新。我想 cron 这个,所以每五分钟它会检查前五分钟,检查并匹配一些字符串并通过电子邮件发送这些结果。我不知道如何轻松比较日志中显示的类型的字符串:
20200114184803 = 2020-01-14 | 18:48:03
time: 20200114184803
Stuff
Stuff
Stuff
time: 20200114184804
Stuff
Stuff
Stuff
time: 20200114184811
Stuff
Stuff
Stuff
我把它分解成几个变量,但你可能可以下一步或更好地管道它:
解释:
fma=...
fma
说在五分钟前以年、月、日、小时、分钟、秒的格式存储在 shell 变量date
中,这似乎是您的日志所做的。line_num=...
说向后读取文件并将其传输到awk
. 在awk
程序中将bash变量保存$fma
为five_minutes_ago
t 合格)并退出。将结果存储为 shell 变量line_num
。tail
获取最后line_num
几行file.txt
注意:您将不得不调整检查字段的数量,因为那里可能有不止“东西”,但这应该可以帮助您完成大部分工作。
awk
我已经在我的脚本中解决了这个问题:这解决了我与这些时间戳有关的问题,并且我能够解析日志文件。