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 --

posted @ 2020-11-23 15:20  slnngk  阅读(821)  评论(0编辑  收藏  举报