MongoDB logrotate 配置
MongoDB logrotate config
我正在使用 MongoDB 1.6.4。我使用的脚本是:
/usr/local/test/r0/log/mongo.log {
daily
rotate 10
nocompress
dateext
missingok
notifempty
sharedscripts
copytruncate
postrotate
/bin/kill -SIGUSR1 `cat /export/home/d01/test/data/v1/mongo/repl0/mongod.lock 2> /dev/null` 2> /dev/null || true
endscript
}
结果是这样的:
-rw-r--r-- 1 root root 0 May 12 04:02 mongo.log.2015-05-11T20-02-03
-rw-r--r-- 1 root root 1999708 May 12 04:02 mongo.log-20150512
-rw-r--r-- 1 root root 0 May 13 04:02 mongo.log.2015-05-12T20-02-02
-rw-r--r-- 1 root root 3127517 May 13 04:02 mongo.log-20150513
-rw-r--r-- 1 root root 875125 May 13 10:46 mongo.log
我不知道为什么会有一个虚拟日志。我的脚本有错误吗?谢谢。
似乎 MongoDB 正在使用内置的 logrotate 选项。
空文件由 mongodb 创建。
您可以尝试使用命令关闭mongodb中的选项
{ logRotate: 0 }
或者,将其保持打开状态并禁用 MongoDB 的系统 logrotate。
最后我发现问题与后旋转有关。我更改为以下脚本,它工作正常。
/bin/kill -SIGUSR1 `cat /var/lib/mongo/mongod.lock 2> /dev/null` 2> /dev/null || true
我正在使用 MongoDB 1.6.4。我使用的脚本是:
/usr/local/test/r0/log/mongo.log {
daily
rotate 10
nocompress
dateext
missingok
notifempty
sharedscripts
copytruncate
postrotate
/bin/kill -SIGUSR1 `cat /export/home/d01/test/data/v1/mongo/repl0/mongod.lock 2> /dev/null` 2> /dev/null || true
endscript
}
结果是这样的:
-rw-r--r-- 1 root root 0 May 12 04:02 mongo.log.2015-05-11T20-02-03
-rw-r--r-- 1 root root 1999708 May 12 04:02 mongo.log-20150512
-rw-r--r-- 1 root root 0 May 13 04:02 mongo.log.2015-05-12T20-02-02
-rw-r--r-- 1 root root 3127517 May 13 04:02 mongo.log-20150513
-rw-r--r-- 1 root root 875125 May 13 10:46 mongo.log
我不知道为什么会有一个虚拟日志。我的脚本有错误吗?谢谢。
似乎 MongoDB 正在使用内置的 logrotate 选项。 空文件由 mongodb 创建。
您可以尝试使用命令关闭mongodb中的选项
{ logRotate: 0 }
或者,将其保持打开状态并禁用 MongoDB 的系统 logrotate。
最后我发现问题与后旋转有关。我更改为以下脚本,它工作正常。
/bin/kill -SIGUSR1 `cat /var/lib/mongo/mongod.lock 2> /dev/null` 2> /dev/null || true