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

轉自:https://www.osyunwei.com/archives/8998.htmlhtml

說明:

操做系統:CentOS

Mongodb安裝目錄:/usr/local/mongodb

Mongodb數據庫存放目錄:/home/data/mongodb/mongodb_data

Mongodb日誌存放目錄:/home/data/mongodb/mongodb_log
mongodb

實現目的:

對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!                                            #保存退出
chmod +x   /home/crontab/cut_mongodb_log.sh     #添加執行權限

2.添加任務計劃,修改/etc/crontab (也能夠直接經過crontab -e 編輯rest

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                             #啓動

至此,Linux下定時切割Mongodb數據庫日誌並刪除指定天數前的日誌記錄完成。code

相關文章
相關標籤/搜索