Linux下定時切割Mongodb數據庫日志並刪除指定天數前的日志記錄(轉)


 

文章轉自: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數據庫日志並刪除指定天數前的日志記錄完成。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM