MongoDB本身没有附带日志管理模块,在Windows下,如果不对日志文件作限制,则log会快速膨胀,直到占满硬盘空间。
针对该需求,写了一个脚本来管理Windows平台下的mangoDB日志:
第一步,写一个供MongoDB执行的js文件:
db=db.getSiblingDB('admin');
db.runCommand({logRotate:1});
- 第一行代码是为了切换MongoDB数据库。这里之所以这样写,是因为普通的
use xxx
在js文件中不起作用。 - 第二行是执行日志分割命令。
第二步,写一个bat脚本,执行刚才的js脚本进行日志分割,并删除过期的日志文件:
X:\xxx\mongo.exe --port 端口号 -u "账号" -p "密码" --authenticationDatabase "admin" -quiet X:\xxx\logRotate.js
forfiles /p "X:\xxx\mongodb\log" /s /m *.* /d -3 /c "cmd /c del @path"
最后,把bat脚本加到系统的计划任务中,每天执行一次即可