在 CentOS 系統中,你可以使用 logrotate 工具來自動清理 nohup 生成的日志文件。以下是配置 logrotate 的步驟:
安裝 logrotate(如果尚未安裝):
sudo yum install logrotate
創建或編輯 logrotate 配置文件:
logrotate 的配置文件通常位于 /etc/logrotate.conf 和 /etc/logrotate.d/ 目錄下。你可以創建一個新的配置文件或編輯現有的配置文件。
例如,創建一個新的配置文件 /etc/logrotate.d/myapp:
sudo nano /etc/logrotate.d/myapp
添加配置內容: 在配置文件中添加以下內容,根據你的需求進行調整:
/path/to/your/nohup/output.log {
daily
rotate 7
compress
missingok
notifempty
create 640 root root
}
解釋:
/path/to/your/nohup/output.log:指定要清理的日志文件路徑。daily:每天輪轉一次日志文件。rotate 7:保留最近 7 天的日志文件。compress:壓縮舊的日志文件。missingok:如果日志文件不存在,不會報錯。notifempty:如果日志文件為空,不進行輪轉。create 640 root root:創建新的日志文件,權限為 640,屬主和屬組為 root。測試 logrotate 配置:
你可以使用以下命令測試 logrotate 配置是否正確:
sudo logrotate -f /etc/logrotate.conf
設置定時任務:
logrotate 通常由系統的 cron 定時任務自動執行。你可以檢查 /etc/cron.daily/logrotate 文件,確保它存在并且沒有被禁用。
如果需要手動觸發 logrotate,可以使用以下命令:
sudo logrotate -f /etc/logrotate.conf
通過以上步驟,你可以配置 logrotate 自動清理 nohup 生成的日志文件。