mongodb日志文件切割
MongoDB 默认是不会进行切割日志的,除非我们配置了 logRotate = rename,并且重启 MongoDB 服务,才会进行切割日志的,
那么为了避免实际中我们一个日志文件过大,我们需要对日志进行切割,有两个办法
方法1:
use admin
db.auth("sa","123456");
db.runCommand({logRotate:1})
方法2:
在此情况下我们可以借用系统的logrotate日志自动切割服务,
来改变mongos.log文件的大小,进入到cd /etc/logrotate.d/目录,创建一个文件:touch mongos,编辑添加如下内容:
/home/middle/mongodb/log/mongodb.log {
rotate 1
daily
dateext
size 2M
postrotate
/bin/kill -SIGUSR1 `cat /home/middle/mongodb/run/28001.pid 2> /dev/null` 2> /dev/null || true
endscript
}
正对以上配置的简单说明:
size:指定当mongos.log文件超过2M时,自动切割文件
dateext:指定切割文件时,备份文件的命名方式
rotate 5:一次将存储5个归档日志。对于第六个归档,时间最久的归档将被删除。
daily:日志文件将按天轮询
postrotate/endscript: 其它命令执行完成后,执行这个里面的命令
该配置需要在mongodb的配置文件设置如下参数:
logappend=true
logRotate=reopen
-- The End --