要設置nohup
日志的輪轉周期,你可以使用logrotate
工具。logrotate
是一個用于管理日志文件的系統工具,它可以自動壓縮、刪除和輪轉日志文件。以下是如何配置logrotate
來管理nohup
生成的日志文件的步驟:
創建一個日志文件:
使用nohup
命令運行你的程序,并將輸出重定向到一個日志文件。例如:
nohup your_command > output.log 2>&1 &
創建一個logrotate配置文件:
在/etc/logrotate.d/
目錄下創建一個新的配置文件,例如your_command
。你可以使用以下命令創建并編輯該文件:
sudo nano /etc/logrotate.d/your_command
配置logrotate: 在配置文件中添加以下內容,根據你的需求調整路徑和選項:
/path/to/output.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 640 root adm
}
解釋:
daily
: 每天輪轉一次日志文件。rotate 7
: 保留7個輪轉后的日志文件。compress
: 壓縮輪轉后的日志文件。delaycompress
: 延遲壓縮,直到下一次輪轉。missingok
: 如果日志文件不存在,不會報錯。notifempty
: 如果日志文件為空,不進行輪轉。create 640 root adm
: 創建新的日志文件,權限為640,屬主為root,屬組為adm。測試logrotate配置:
你可以手動測試logrotate
配置是否正確:
sudo logrotate -f /etc/logrotate.d/your_command
這將強制執行一次日志輪轉,并根據配置文件中的設置處理日志文件。
自動輪轉:
logrotate
通常每天運行一次,檢查并處理需要輪轉的日志文件。你可以通過查看/var/lib/logrotate/status
文件來確認logrotate
的狀態和歷史記錄。
通過以上步驟,你可以設置nohup
日志的輪轉周期,并確保日志文件得到適當的管理。