当前位置:首页 > 操作系统 > Linux

(转)Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录

说明:

操作系统:CentOS

Mongodb安装目录:/usr/local/mongodb

Mongodb数据库存放目录:/home/data/mongodb/mongodb_data

Mongodb日志存放目录:/home/data/mongodb/mongodb_log

实现目的:

对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录。

具体操作:

l  使用Mongodb数据库自带的命令来切割日志

ps -def | grep mongod

kill -SIGUSR1 <mongod process id>

1、    创建Mongodb数据库日志切割脚本

vi /home/crontab/cut_mongodb_log.sh                   #编辑

#!/bin/sh

datafile=/home/data/mongodb/mongodb_data              #Mongodb数据库存放目录

logfile=/home/data/mongodb/mongodb_log                    #Mongodb日志存放目录

days=7                                                             #代表删除7天前的备份,即只保留最近7天的备份

/bin/kill -SIGUSR1 `cat $datafile/mongod.lock`                 #切割日志

find $logfile/ -mtime +$days -delete                                    #删除7天前的备份文件

:wq!                                                                                              #保存退出

chmod +x   /home/crontab/cut_mongodb_log.sh          #添加执行权限

2、    添加任务计划,修改/etc/crontab(也可以直接通过crontab -e 编辑)

vi /etc/crontab                                                                           #在最后一行添加

0 0 * * * /home/crontab/cut_mongodb_log.sh               #表示每天凌晨执行备份

:wq! #保存退出

3、    重新启动crond使设置生效

/etc/rc.d/init.d/crond restart

chkconfig crond on                                                                    #设为开机启动

service crond start                                                                   #启动

每天会在/home/data/mongodb/mongodb_log目录下生成类似mongodb.log.2015-02-28T06-33-20的日志记录,并且只保留最近7天的日志记录。

至此,Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录完成。

 

------------------------------------

转自:https://www.osyunwei.com/archives/8998.html 

格式略有修改,侵删


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐