在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測試配置,避免誤刪。