觀看(旋轉)登入畫面

觀看(旋轉)登入畫面

我正在運行一個使用 SSH 連線的郵件伺服器。 My.bash_profile配置為將 SSH 會話附加到特定screen會話。

現在我想將日誌(例如係統日誌)列印到此螢幕會話的一個視窗中。我嘗試跑步

tail -f /var/log/syslog

但每天6點25分停止輸出。我猜那是日誌旋轉的時間。那麼有沒有辦法讓日誌印成螢幕呢?

答案1

你需要tail --follow=name /var/log/syslog

原因是預設情況下(據說是出於性能原因)tail 打開指定的文件,然後觀看檔案描述符它源自於open(2)對改變的呼籲。只要文件被更改,附加到甚至重寫(通過首先截斷它),它就可以工作,但如果文件被更改,它就會停止工作被取代- 也就是說,刪除並使用相同的名稱創建,這就是logrotate通常所做的事情。

“名稱”模式使用更昂貴的系統--follow調用,它實際上每次通過文件系統層“解析”文件的名稱,並且如果注意到文件更改了其所謂的tailstat(2)tail“索引節點”tail重新開啟檔案。

輸出man tail

-f, --follow[={name|descriptor}]

隨著文件的增長輸出附加資料;缺少選項參數意味著“描述符”

您也可以查看-F命令列選項,其定義為

-F與...一樣--follow=name --retry

答案2

你的猜測其實是正確的。此時syslog中斷寫入日誌,對其進行gz並重新啟動日誌。

你可以嘗試用

tail -f --retry /var/log/syslog

這樣當日誌輪替完成後,tail 應該重試重新開啟文件

相關內容