Gnu-Screen
如何限制螢幕的日誌文件大小
我使用在 gnu-screen 下執行我的程序並啟用日誌記錄到文件( .screenrc 中的
log on
/logfile
選項)。但是過了一段時間,日誌文件變得太大了。有沒有辦法限制日誌文件的大小?
除非您想實時控制日誌的大小,否則您可以使用
logrotate
withcron
來完成此操作。假設您想在目錄中旋轉
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 N
要N
保留多少輪換日誌的位置。查看
man 8 logrotate
有關如何配置的詳細資訊logrotate
。這是一個相關的問題:如何使用 >> 限制日誌文件大小
logrotate
似乎預設包含在 Arch Linux 中,但我不確定其他發行版。我希望至少 Debian 預設安裝它,並且使用包管理器應該很容易安裝。