mongodb的系统日志启动切割实现方法

        在做mongodb分片时,当启用mongos路由服务,我们会指定一个日志的存放位置:

mongos --configdb 127.0.0.1:27019 --logpath /var/log/mongodb/mongos.log  --pidfilepath /var/run/mongodb/mongos.pid --logappend --logRotate reopen --fork

以上我们指定了日志的存放位置在/var/log/mongodb/mongos.log文件里面,当系统数据量比较大,运行时间久了之后,mongos.log文件会变成几个G的大小,这样肯定会影响mongos路由的性能。

        在此情况下我们可以借用系统的logrotate日志自动切割服务,来改变mongos.log文件的大小,进入到cd /etc/logrotate.d/目录,创建一个文件:touch mongos,编辑添加如下内容:

/var/log/mongodb/mongos.log{
    rotate 1
    daily
    dateext
    size 200M
    postrotate
        /bin/kill -SIGUSR1 `cat /var/run/mongodb/mongos.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

正对以上配置的简单说明:

        size:指定当mongos.log文件超过200M时,自动切割文件

        dateext:指定切割文件时,备份文件的命名方式

        rotate 5:一次将存储5个归档日志。对于第六个归档,时间最久的归档将被删除。

        daily:日志文件将按天轮询

        postrotate/endscript: 其它命令执行完成后,执行这个里面的命令

你可能感兴趣的:(logrotate,mongos,mongodb日志)