MongoDB 日志太大怎么办?
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
官方文档:
http://docs.mongodb.org/manual/tutorial/rotate-log-files/
如今能够将之前20G的日志文件挪走或者删除了。
也能够自己先个定时脚本。定期发送命令给mongod服务。