Logs

如何減少文件名而不是 inode 編號?

  • April 7, 2021

我有一個軟體可以在重新啟動時輪換其日誌文件。但是,在開發過程中,我經常重啟它,所以我想隨時監控最新的日誌文件。

如果我less正常啟動less program.log並按Shift+f到尾,當日誌文件旋轉時,我會繼續監視舊的日誌文件。我認為這是因為 inode 編號保持不變並且less具有該 inode 的打開文件句柄。

是否可以監視目前呼叫的任何日誌文件的最新活動program.log

具體來說,我正在開發 Sun OS,因此在那里工作的解決方案將是理想的。

less --follow-name如果您的版本less支持它,請使用它。

該選項是在版本 416 中引入的。

然後Shift+Fless.

less選項--follow-name只是解決方案的一部分;

要替換tail -F,需要另一個參數:

less --follow-name +F file.log

單獨的選項就像less --follow-name file.log實際上並沒有開始跟隨文件更新。您需要按 進入跟隨模式Shift``F

(退出模式以導航Control``C。)

不是跟隨文件,而是--follow-name 修改less的行為。

它根據文件名而不是文件描述符在 follow Shift``F中創建命令鍵。less

此外,沒有正常的選項可以less在跟隨模式下啟動。

但是您可以使用命令行在啟動後執行擊鍵,方法是在它們前面加上+.

將修飾符選項與+F,結合起來less實際上會以(修改後的)跟隨模式開始。

單獨使用+F相當於 plain tail -f

less +F file.log

引用自:https://unix.stackexchange.com/questions/74279