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

在做mongodb分片时,当启用mongos路由服务,我们会指定一个日志的存放位置:
1 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: 其它命令执行完成后,执行这个里面的命令

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

相关推荐