ustbwang 发表于 2018-10-26 11:17:17

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: 其它命令执行完成后,执行这个里面的命令


页: [1]
查看完整版本: mongodb的系统日志启动切割实现方法