我想编写一个 shell 脚本,它会从给定的日志文件(例如 /var/log/messages)中找到多个字符串(例如“错误|通知|警告”)的出现。如果任何字符串匹配,它应该向指定的邮件 ID 发送邮件通知。
我可以用:
grep -i -E '^Errors|Notice|Warnings' /var/log/messages
但我的主要问题是,日志文件一直在增长,如果我想在 cron 中添加这个脚本,我如何记录我在上次执行脚本时已经检查过的文件行或内容?
例如,如果日志文件是 100 行,并且我已经使用 cat 或类似的方法读取了该文件,那么在第二次执行之前,该文件变为 300 行,那么现在我想从 101 行号读取到 300。
谁能建议我如何记录这个?