在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个轮转后的日志文件。