nohup
命令用于在后臺運行程序,即使關閉終端或斷開連接,程序也會繼續運行。默認情況下,nohup
會將輸出重定向到名為 nohup.out
的文件中。隨著時間的推移,這個文件可能會變得非常大,因此需要進行日志切割。
以下是使用 logrotate
工具進行日志切割的方法:
確保已經安裝了 logrotate
。在大多數 Linux 發行版中,它已經是預裝的。如果沒有,可以使用包管理器進行安裝,例如在 Ubuntu/Debian 上使用 sudo apt-get install logrotate
。
創建一個名為 nohup-out.conf
的配置文件,用于指定 nohup.out
文件的日志切割規則??梢允褂梦谋揪庉嬈鲃摻ê途庉嬙撐募?,例如使用 nano
:
sudo nano /etc/logrotate.d/nohup-out
在 nohup-out.conf
文件中,添加以下內容:
/path/to/your/nohup.out {
daily
rotate 7
compress
missingok
notifempty
create 0640 user group
}
這里的配置表示:
daily
)rotate 7
)compress
)missingok
)notifempty
)create 0640 user group
)請根據實際情況替換 /path/to/your/nohup.out
、user
和 group
。
保存并關閉 nohup-out.conf
文件。
測試 logrotate
配置是否正確。運行以下命令:
sudo logrotate -f /etc/logrotate.d/nohup-out
如果沒有錯誤信息,說明配置正確。
現在,logrotate
將根據指定的規則自動切割 nohup.out
日志文件。如果需要手動觸發日志切割,可以運行 sudo logrotate -f /etc/logrotate.d/nohup-out
命令。