在CentOS上清理MongoDB日志主要有以下兩種方法:
sudo yum install logrotate
/etc/logrotate.d/
下新建mongodb
文件,內容示例:/var/log/mongodb/mongod.log {
daily
rotate 7
compress
notifempty
create 640 mongodb mongodb
postrotate
if [ -f /var/run/mongodb.pid ]; then
kill -SIGUSR1 $(cat /var/run/mongodb.pid)
fi
endscript
}
daily
:每日輪轉;rotate 7
:保留7天日志;compress
:壓縮舊日志。sudo logrotate -d /etc/logrotate.d/mongodb # 測試配置
sudo logrotate -f /etc/logrotate.d/mongodb # 強制執行
mongo --quiet --eval "db.adminCommand({logRotate: 1})"
find
命令刪除指定天數前的日志(如刪除30天前的日志):find /var/log/mongodb/ -name "mongod.log.*" -mtime +30 -exec rm {} \;
注意:
cat /etc/mongod.conf
查看systemLog.path
)。logrotate
測試配置,避免誤刪。