MongoDB日志切割删除

1.linux宝塔面板计划任务mongo日志切割删除

1
2
3
4
5
6
#!/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文件:

1
2
db=db.getSiblingDB('admin');
db.runCommand({logRotate:1});

第一行代码是为了切换MongoDB数据库。这里之所以这样写,是因为普通的use xxx在js文件中不起作用。
第二行是执行日志分割命令。
第二步,写一个bat脚本,执行刚才的js脚本进行日志分割,并删除过期的日志文件:

1
2
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集合

1
2
use testdb
db.runCommand({ compact : 'Log' });

  

posted @   loganfan  阅读(165)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示