在Debian系统中,MongoDB的日志轮转可以通过配置logrotate工具来实现。以下是设置MongoDB日志轮转的步骤:
- 确保已经安装了
logrotate。如果没有安装,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install logrotate
- 创建一个新的
logrotate配置文件,专门用于MongoDB。使用文本编辑器创建一个新文件,例如/etc/logrotate.d/mongodb:
sudo nano /etc/logrotate.d/mongodb
- 将以下内容粘贴到新创建的配置文件中,根据需要进行调整:
/path/to/your/mongodb/data/log/mongod.log {
size 500M
rotate 7
compress
missingok
notifempty
create 640 mongodb adm
postrotate
if [ -f /var/run/mongodb.pid ]; then
kill -SIGUSR1 `cat /var/run/mongodb.pid`
fi
endscript
}
这里的配置表示:
- 当日志文件大小达到500MB时,进行轮转。
- 保留最近7个轮转日志文件。
- 对旧的日志文件进行压缩。
- 如果日志文件丢失,不会报错。
- 如果日志文件为空,不进行轮转。
- 创建新的日志文件,权限为640,属主为mongodb用户,属组为adm组。
- 在日志轮转后,发送SIGUSR1信号给MongoDB进程,通知它重新打开日志文件。
-
保存并关闭配置文件。
-
测试
logrotate配置是否正确。运行以下命令:
sudo logrotate -f /etc/logrotate.d/mongodb
如果没有错误,表示配置正确。
现在,MongoDB的日志轮转已经设置好了。logrotate会自动按照配置文件中的规则进行日志轮转。你可以通过查看/var/log/mongodb目录下的日志文件来验证日志轮转是否正常工作。