Gnu-Screen

如何限制螢幕的日誌文件大小

  • March 15, 2017

我使用在 gnu-screen 下執行我的程序並啟用日誌記錄到文件( .screenrc 中的log on/logfile選項)。但是過了一段時間,日誌文件變得太大了。

有沒有辦法限制日誌文件的大小?

除非您想實時控制日誌的大小,否則您可以使用logrotatewithcron來完成此操作。

假設您想在目錄中旋轉screenlog.log/home/username/您將創建類似以下配置文件的內容:

screenlog-rotate.conf:

/home/username/screenlog.log {
 size 100k
}

然後執行logrotate /home/username/screenlog-rotate.conf或將其設置為定期執行的 cron 作業。請記住logrotate需要預設以root身份執行,並且配置文件(screenlog-rotate.conf上)也需要chown以root身份執行,否則會抱怨配置權限錯誤。通過執行標誌進行測試,logrotate看看-v它是否理解你的意思。

上面的配置文件很簡單,不會保留舊的日誌文件。如果文件超過給定的大小,它將僅刪除文件,而螢幕仍照常輸出其日誌(我對此進行了測試)。如果要保留舊日誌,則需要添加rotate NN保留多少輪換日誌的位置。

查看man 8 logrotate有關如何配置的詳細資訊logrotate。這是一個相關的問題:如何使用 >> 限制日誌文件大小

logrotate 似乎預設包含在 Arch Linux 中,但我不確定其他發行版。我希望至少 Debian 預設安裝它,並且使用包管理器應該很容易安裝。

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