MongoDB 日志太大怎么办?

手册/FAQ (438) 2016-04-28 10:02:30

 

MongoDB的日志增长的很快,/var所在的空间马上就占满了,即便换到另一个磁盘分区保存日志,日志还是增长的很快,磁盘眼看要告磬。

有一个好办法,就是使用旋转日志。

MongoDB的旋转日志有点怪,Linux下mongd服务接受一个kill -SGIUSR1命令后就立刻将当前日志文件重命名为带日期的文件,然后创建新的日志文件。

不想一般的旋转日志,可以配置旋转策略。不过没关系,经过测试,发送该命令时不会影响到MongoDB的服务。

下面是一个例子,先查找进程id, 然后发送命令。

  • root@jstc:/etc/init.d# ps -def | grep mongod  
  • mongodb    723     1 48 May04 ?        6-22:23:53 /usr/bin/mongod --config /etc/mongodb.conf  
  • root     22035 22012  0 20:22 pts/2    00:00:00 grep --color=auto mongod  
  • root@jstc:/etc/init.d# kill -SIGUSR1 723  
  • root@jstc:/etc/init.d# cd /home/mongodb/log/  
  • root@jstc:/home/mongodb/log# ls  
  • mongodb.log  mongodb.log.2014-05-18T12-23-51  
  • root@jstc:/home/mongodb/log# ls -alh  
  • total 20G  
  • drwxrwxrwx 2 root    root    4.0K May 18 20:23 .  
  • drwxrwxrwx 4 root    root    4.0K Apr 20 21:25 ..  
  • -rw-r--r-- 1 mongodb nogroup  34K May 18 20:24 mongodb.log  
  • -rwxrwxrwx 1 mongodb nogroup  20G May 18 20:23 mongodb.log.2014-05-18T12-23-51  

 

现在可以将之前20G的日志文件挪走或者删除了。

也可以自己先个定时脚本,定期发送命令给mongod服务。

 

THE END