我有两个想法。首先,我认为我已读取文件,将其删除,并且日志记录最终将重新创建它(我错了)。第二次尝试,我想我将复制该文件,并在一段时间后将其与原始文件进行比较。你怎么看?第二种方法是一个好的选择吗?如果是这样,什么是有效比较文件的好方法? IMO这将是非常低效的,因为我不得不两次读取一个大日志文件并逐行比较它...
我也被其他方法所吸引。
使用轮询进行某些操作并不理想,这应该是我使用crontab调用的一项工作。
谢谢你的帮助。
最佳答案
如果您运行的平台使用systemd
,则可以使用journalctl
命令。journalctl
命令具有一个非常强大的--since
选项。
您可以使用它在特定时间后获取日志:
journalctl --since "2018-10-08 13:00:00"
查看时间之间的日志
journalctl --since "2018-10-08 13:00:00" --until "2018-10-08 13:30:00"
还是N时间前
journalctl --since "10min ago"
要查看特定的应用程序日志,请使用
-u
选项journalctl -u tomcat.service --since "1 hr ago"
参考文献:
https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs
https://www.loggly.com/ultimate-guide/using-journalctl/
关于python - 如何仅从Linux日志文件中获取新行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52743879/