在Debian系統上,MongoDB的日志輪轉可以通過配置logrotate
工具來實現。以下是配置MongoDB日志輪轉的步驟:
logrotate
。如果沒有安裝,可以使用以下命令安裝:sudo apt-get update
sudo apt-get install logrotate
logrotate
配置文件,專門用于MongoDB。在/etc/logrotate.d/
目錄下創建一個名為mongodb.conf
的文件:sudo nano /etc/logrotate.d/mongodb
mongodb.conf
文件中,并根據需要進行修改:/path/to/mongodb.log {
rotate 5
daily
compress
missingok
notifempty
create 0640 mongodb mongodb
postrotate
if [ -f /var/run/mongodb.pid ]; then
kill -SIGUSR1 `cat /var/run/mongodb.pid`
fi
endscript
}
這里的配置表示:
rotate 5
:保留5個輪轉日志文件。daily
:每天輪轉日志文件。compress
:壓縮舊的日志文件。missingok
:如果日志文件不存在,不會產生錯誤。notifempty
:如果日志文件為空,不進行輪轉。create 0640 mongodb mongodb
:創建新的日志文件,權限為0640,屬主和屬組為mongodb。postrotate
和endscript
之間的部分:在輪轉日志后執行的命令。這里發送SIGUSR1信號給MongoDB進程,通知它關閉當前日志文件并打開一個新的日志文件。保存并關閉mongodb.conf
文件。
測試logrotate
配置是否正確:
sudo logrotate -f /etc/logrotate.d/mongodb
如果沒有錯誤信息,說明配置正確。
現在,MongoDB的日志輪轉應該已經配置好了。logrotate
會按照配置的時間間隔自動輪轉日志文件。