如何从linux日志文件中只获取新行?

我有两个想法。首先,我以为我阅读了该文件,将其删除,然后日志记录最终会重新创建它(我错了)。第二次尝试时,我想我会制作文件的副本,并在一段时间后比较副本和原始文件。你怎么看?第二种方法是不是一个不错的选择?如果是这样,什么是有效比较文件的好方法?IMO 这将是非常低效的,因为我必须两次读取一个大日志文件并逐行比较它......

我也对其他方法感兴趣。

带轮询的东西并不理想,这应该是我用 crontab 调用的工作。


慕尼黑5688855
浏览 177回答 2
2回答

芜湖不芜

如果您正在运行的平台使用,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"

长风秋雁

关于什么:   $ tail -f /var/log/long_file.log
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python