簡體   English   中英

如何僅從Linux日志文件中獲取新行?

[英]How to get only new lines from linux log file?

我有兩個想法。 首先,我認為我已讀取文件,將其刪除,並且日志記錄最終將重新創建它(我錯了)。 第二次嘗試,我想我會復制該文件,並在一段時間后將其與原始文件進行比較。 你怎么看? 第二種方法是一個好的選擇嗎? 如果是這樣,什么是有效比較文件的好方法? 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/

關於什么:

   $ tail -f /var/log/long_file.log 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM