MongoDB日志切割删除
1.linux宝塔面板计划任务mongo日志切割删除
#!/bin/sh datafile=/www/server/mongodb/data #Mongodb数据库存放目录 logfile=/www/server/mongodb/log #Mongodb日志存放目录 days=7 #代表删除7天前的备份,即只保留最近7天的备份 /bin/kill -SIGUSR1 `cat $datafile/mongod.lock` #切割日志 find $logfile/ -mtime +$days -delete #删除7天前的备份文件
2.windows系统mongo日志切割删除
第一步,写一个供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脚本加到系统的计划任务中,每天执行一次即可
3.Monodb磁盘空间释放
#testdb数据库 Log集合
use testdb
db.runCommand({ compact : 'Log' });

浙公网安备 33010602011771号