文章轉自:http://www.osyunwei.com/archives/8998.html
說明:
操作系統:CentOS
Mongodb安裝目錄:/usr/local/mongodb
Mongodb數據庫存放目錄:/home/data/mongodb/mongodb_data
Mongodb日志存放目錄:/home/data/mongodb/mongodb_log
實現目的:
對Mongodb數據庫日志按天保存,並且只保留最近7天的日志記錄。
具體操作:
使用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! #保存退出
系統運維 www.osyunwei.com 溫馨提醒:qihang01原創內容©版權所有,轉載請注明出處及原文鏈接
2、添加任務計划,修改/etc/crontab
vi /etc/crontab #在最后一行添加
0 0 * * * /home/crontab/cut_mongodb_log.sh #表示每天凌晨執行備份
:wq! #保存退出
3、重新啟動crond使設置生效
/etc/rc.d/init.d/crond restart #yum install -y vixie-cron安裝計划任務,某些系統上可能沒有預裝
chkconfig crond on #設為開機啟動
service crond start #啟動
每天會在/home/data/mongodb/mongodb_log目錄下生成類似mongodb.log.2015-02-28T06-33-20的日志記錄
並且只保留最近7天的日志記錄。
至此,Linux下定時切割Mongodb數據庫日志並刪除指定天數前的日志記錄完成。