mongodb清理日志文件的方法:1、使用mongodb数据库命令“db.runCommand({logRotate:1})”登录到mongod和mongos实例中;2、然后使用“cat /dev/null > [文件名]”系统命令清空日志文件,保留日志即可。
具体内容如下:
一、日志清理步骤
使用数据库命令rotate日志,分别登录到mongod和mongos实例上
# mongo --host localhost:27xxxMongoDB shell version: 2.6.x
connecting to: localhost:27xxx/test
replicaset003:SECONDARY> db
test
replicaset003:SECONDARY> use admin
switched to db admin
replicaset003:SECONDARY> db.runCommand({logRotate:1})
{ "ok" : 1 }
replicaset003:SECONDARY>
replicaset001:ARBITER> exit
bye
# ll
total 22195424
-rw-r--r-- 1 mongod mongod 1124 Dec 20 11:04 mongoc.log
-rw-r--r-- 1 mongod mongod 33341517 Dec 20 10:59 mongoc.log.2016-12-20T03-01-17
-rw-r--r-- 1 mongod mongod 4944 Dec 20 11:07 mongod1.log
-rw-r--r-- 1 mongod mongod 680817815 Dec 20 11:03 mongod1.log.2016-12-20T03-04-01
-rw-r--r-- 1 mongod mongod 1030 Dec 20 11:07 mongod2.log
-rw-r--r-- 1 mongod mongod 1813798574 Dec 20 11:07 mongod2.log.2016-12-20T03-07-43
-rw-r--r-- 1 mongod mongod 2413 Dec 20 11:07 mongod.log
-rw-r--r-- 1 mongod mongod 1880520643 Dec 20 11:06 mongod.log.2016-12-20T03-06-17
-rw-r--r-- 1 mongod mongod 2071 Dec 20 11:05 mongos.log
-rw-r--r-- 1 mongod mongod 18319577575 Dec 20 10:52 mongos.log.2016-12-20T02-53-04
使用系统命令清空日志文件,保留日志
# cat /dev/null > mongos.log.2016-12-20T02-53-04# cat /dev/null > mongod.log.2016-12-20T03-06-17
# cat /dev/null > mongod2.log.2016-12-20T03-07-43
# cat /dev/null > mongod1.log.2016-12-20T03-04-01
# cat /dev/null > mongoc.log.2016-12-20T03-01-17
#
[root@dev-mongo-001-242 mongo]# ll
total 28
-rw-r--r-- 1 mongod mongod 1338 Dec 20 11:09 mongoc.log
-rw-r--r-- 1 mongod mongod 0 Dec 20 11:10 mongoc.log.2016-12-20T03-01-17
-rw-r--r-- 1 mongod mongod 7670 Dec 20 11:10 mongod1.log
-rw-r--r-- 1 mongod mongod 0 Dec 20 11:10 mongod1.log.2016-12-20T03-04-01
-rw-r--r-- 1 mongod mongod 3594 Dec 20 11:10 mongod2.log
-rw-r--r-- 1 mongod mongod 0 Dec 20 11:10 mongod2.log.2016-12-20T03-07-43
-rw-r--r-- 1 mongod mongod 5247 Dec 20 11:10 mongod.log
-rw-r--r-- 1 mongod mongod 0 Dec 20 11:09 mongod.log.2016-12-20T03-06-17
-rw-r--r-- 1 mongod mongod 2297 Dec 20 11:10 mongos.log
-rw-r--r-- 1 mongod mongod 0 Dec 20 11:09 mongos.log.2016-12-20T02-53-04
二、思路
一般情况下数据库的日志理清都会有两种方式,一种是通过数据库命令,一种是系统命令。
日志的清理原文件一定要保留,不能使用rm来删除文件,切忌,我们目的是释放空间。
部分公司要求把日志归档到大数据平台以供分析使用,因此,在清理日志文件的时候需要搞清楚,切勿盲目蛮干。
三、官方文档
https://docs.mongodb.com/v2.6/tutorial/rotate-log-files/