在CentOS上配置MongoDB日志轮转,可以通过以下步骤实现:
-
创建一个日志轮转配置文件: 在
/etc/logrotate.d/
目录下创建一个新的配置文件,例如mongodb.conf
。你可以使用文本编辑器(如vi
、nano
等)创建和编辑该文件。sudo vi /etc/logrotate.d/mongodb.conf
-
添加以下内容到配置文件中:
/var/log/mongodb/mongod.log { rotate 7 daily compress missingok notifempty create 640 mongodb mongodb postrotate if [ -f /var/run/mongodb.pid ]; then kill -SIGUSR1 `cat /var/run/mongodb.pid` fi endscript }
这里的配置表示:
rotate 7
:保留7个轮转日志文件。daily
:每天轮转一次日志。compress
:压缩轮转后的日志文件。missingok
:如果日志文件不存在,不会产生错误。notifempty
:如果日志文件为空,不进行轮转。create 640 mongodb mongodb
:创建新的日志文件,权限为640,属主为mongodb用户,属组为mongodb组。postrotate
和endscript
之间的部分是在日志轮转后执行的脚本。这里向MongoDB发送SIGUSR1信号,通知它关闭当前日志文件并打开一个新的日志文件。
-
保存并退出配置文件。
-
测试配置是否正确: 使用
logrotate
命令手动测试配置文件是否正确。sudo logrotate -f /etc/logrotate.d/mongodb.conf
如果没有错误信息,说明配置正确。
现在,MongoDB日志轮转已经配置好了。每天,/var/log/mongodb/mongod.log
文件都会被轮转,并保留7个轮转后的日志文件。