时间:2021-05-24
前言
其实所谓自动分割MongoDB日志文件,就是指Rotate MongoDB log files,即让MongoDB每天(或每个星期,可自定义控制)生成一个日志文件,而不是将MongoDB所有的运行日志都放置在一个文件中,这样每个日志文件都相对较小,定位问题也更容易。
实现自动分割MongoDB日志的方法可以参考:https://docs.mongodb.com/manual/tutorial/rotate-log-files/
现在以一个MongoDB实例为例,可以写一个脚本来实现自动分割MongoDB日志
1、配置MongoDB实例启动参数
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系统日志保存路径,并配置logRotate参数为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、设置Linux定时任务
在打开的文件底部添加如下内容
59 23 * * * root /data/logRotate/logRotate.sh:wq保存,表示配置一个定时任务,定时每天23:59以root身份执行脚本/data/logRotate/logRotate.sh,实现定时自动分割MongoDB日志
至此,就实现了自动分割MongoDB日志,MongoDB每天都会生成一个新的日志文件,日志文件的命名带有标识文件日期的时间戳。
如下所示:
总结
以上就是关于MongoDB运行日志自动分割的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文范例是书写两个日志:错误日志(ERROR级别)和运行日志(DEBUG级别),其中运行日志每日凌晨进行分割importlogging,datetime,log
用途logging模块是Python的内置模块,主要用于输出运行日志,可以灵活配置输出日志的各项信息。基本使用方法logging.basicConfig(lev
logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。其主要优点如下:1.可以通过设置不同
本文实例讲述了C#实现Log4Net日志分类和自动维护的实现方法。分享给大家供大家参考。具体实现方法如下:一、背景在程序中,我们调试运行时信息,Log4Net是
实用命令:查看tomcat运行日志tail-fcatalina.out通过关键字搜索查看日志catjeewx-2015-09-20.log|grep验证码查看固