MongoDB運行日志實現(xiàn)自動分割的方法實例
前言
其實所謂自動分割MongoDB日志文件,就是指Rotate MongoDB log files,即讓MongoDB每天(或每個星期,可自定義控制)生成一個日志文件,而不是將MongoDB所有的運行日志都放置在一個文件中,這樣每個日志文件都相對較小,定位問題也更容易。
實現(xiàn)自動分割MongoDB日志的方法可以參考:https://docs.mongodb.com/manual/tutorial/rotate-log-files/
現(xiàn)在以一個MongoDB實例為例,可以寫一個腳本來實現(xiàn)自動分割MongoDB日志
1、配置MongoDB實例啟動參數(shù)
security: keyFile: /usr/local/mongodb/authentication/keyFile sharding: clusterRole: shardsvr replication: replSetName: rs3 net: port: 27023 storage: dbPath: /data/db_delay_rs3 systemLog: path: /data/log_delay_rs3/mongodb.log destination: file logAppend: true logRotate: rename processManagement: fork: true
配置MongoDB系統(tǒng)日志保存路徑,并配置logRotate
參數(shù)為rename
2、編寫自動分割MongoDB日志腳本
#!/bin/bash #Rotate the MongoDB logs to prevent a single logfile from consuming too much disk space. app=mongod mongodPath=/usr/local/mongodb/bin/ pidArray=$(pidof $mongodPath/$app) for pid in $pidArray;do if [ $pid ] then kill -SIGUSR1 $pid fi done exit
:wq
保存,并命名為logRotate.sh
,保存到目錄/data/logRotate/
3、設(shè)置Linux定時任務(wù)
vi /etc/crontab
在打開的文件底部添加如下內(nèi)容
59 23 * * * root /data/logRotate/logRotate.sh
:wq
保存,表示配置一個定時任務(wù),定時每天23:59以root身份執(zhí)行腳本/data/logRotate/logRotate.sh
,實現(xiàn)定時自動分割MongoDB日志
至此,就實現(xiàn)了自動分割MongoDB日志,MongoDB每天都會生成一個新的日志文件,日志文件的命名帶有標(biāo)識文件日期的時間戳。
如下所示:
mongodb.log mongodb.log.2016-12-08T15-59-01 mongodb.log.2016-12-13T15-59-01 mongodb.log.2016-12-06T07-14-10 mongodb.log.2016-12-09T15-59-01 mongodb.log.2016-12-14T15-59-01 mongodb.log.2016-12-06T15-59-01 mongodb.log.2016-12-10T15-59-01 mongodb.log.2016-12-15T15-59-01 mongodb.log.2016-12-07T01-54-05 mongodb.log.2016-12-11T15-59-01 mongodb.log.2016-12-16T15-59-01 mongodb.log.2016-12-07T15-59-01 mongodb.log.2016-12-12T15-59-01
總結(jié)
以上就是關(guān)于MongoDB運行日志自動分割的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
在 Fedora 上安裝 MongoDB 服務(wù)器的方法教程
Mongo是一個高性能、開源、無模式的、面向文檔的數(shù)據(jù)庫,它是最受歡迎的 NoSQL 數(shù)據(jù)庫之一。這篇文章主要介紹了在 Fedora 上安裝 MongoDB 服務(wù)器的方法,需要的朋友可以參考下2020-03-03MongoDB添加secondary節(jié)點的2種方法詳解
這篇文章主要給大家總結(jié)介紹了關(guān)于MongoDB添加secondary節(jié)點的2種方法,以及MongoDB secondary節(jié)點出現(xiàn)recovering狀態(tài)的解決方法,文中介紹的非常詳細(xì),需要的朋友可以參考下2018-10-10mongodb主從同步配置實戰(zhàn)詳細(xì)教程(建議收藏)
MongoDB主從同步是一種數(shù)據(jù)庫同步備份技術(shù),主要用于數(shù)據(jù)備份、故障恢復(fù)和讀擴(kuò)展,其基本原理是通過主節(jié)點記錄操作日志,從節(jié)點定期獲取這些日志并在本地執(zhí)行,實現(xiàn)數(shù)據(jù)的同步,適合需要高可用性的系統(tǒng)部署,感興趣的朋友一起看看吧2022-02-02Navicat Premium連接mongodb詳細(xì)教程
這篇文章主要介紹了Navicat Premium連接mongodb詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03MongoDB創(chuàng)建用戶報錯command createUser requires auth
這篇文章主要介紹了MongoDB創(chuàng)建用戶報錯command createUser requires authentication的解決方法,文中通過代碼和圖文講解的非常詳細(xì),對大家的解決問題有一定的幫助,需要的朋友可以參考下2024-09-09Mongodb聚合函數(shù)count、distinct、group如何實現(xiàn)數(shù)據(jù)聚合操作
Mongodb中自帶的基本聚合函數(shù)有三種:count、distinct和group。下面我們分別來講述一下這三個基本聚合函數(shù)及如何實現(xiàn)數(shù)據(jù)聚合操作,感興趣的朋友一起學(xué)習(xí)吧2016-05-05MongoDB數(shù)據(jù)庫設(shè)置賬號密碼完整步驟
MongoDB這工具很好用的,頁面美觀,設(shè)置賬號密碼也必不可少,下面這篇文章主要給大家介紹了關(guān)于MongoDB數(shù)據(jù)庫設(shè)置賬號密碼的完整步驟,文中給出了詳細(xì)的實例代碼,需要的朋友可以參考下2023-05-05