Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,System.out和System.err都被打印到catalina.out。catalina.out不会rotate。一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系
千家信息网最后更新 2025年12月02日Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录
System.out和System.err都被打印到catalina.out。catalina.out不会rotate。一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响。
1、可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息。
[root@localhost conf]# pwd/usr/local/tomcat/conf[root@localhost conf]# cp logging.properties logging.propertiesbak[root@localhost conf]# vim logging.properties 25 1catalina.org.apache.juli.FileHandler.level = FINE 26 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 27 1catalina.org.apache.juli.FileHandler.prefix = catalina.将level级别设置成WARNING就可以大量减少日志的输出,当然也可以设置成OFF,直接禁用掉。
一般日志的级别有:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
2、使用cronolog工具切分Tomcat的catalina.out日志文件
下载、安装cronolog
[root@localhost src]# rpm -qa |grep cronolog[root@localhost src]# tar zxvf cronolog-1.6.2.tar.gz [root@localhost src]# cd cronolog-1.6.2[root@localhost cronolog-1.6.2]# ./configure [root@localhost cronolog-1.6.2]# make && make install[root@localhost cronolog-1.6.2]# which cronolog/usr/local/sbin/cronolog[root@localhost cronolog-1.6.2]#
用which cronolog可以查到安装的路径,这个路径待会在修改catalina.sh时会用到。
修改catalina.sh 将183行修改成184行内容,注释掉355行,368、369行替换成370、371行,379、380行替换成381、382行;
[root@localhost cronolog-1.6.2]# cp /usr/local/tomcat/bin/catalina.sh /usr/local/tomcat/bin/catalina.shbak[root@localhost cronolog-1.6.2]# vim /usr/local/tomcat/bin/catalina.sh182 if [ -z "$CATALINA_OUT" ] ; then183 # CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out184 CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out185 fi......355 # touch "$CATALINA_OUT"......363 -Djava.security.manager \364 -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \365 -Dcatalina.base="$CATALINA_BASE" \366 -Dcatalina.home="$CATALINA_HOME" \367 -Djava.io.tmpdir="$CATALINA_TMPDIR" \368 # org.apache.catalina.startup.Bootstrap "$@" start \369 # >> "$CATALINA_OUT" 2>&1 &370 org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \ 371 | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &372 373 else374 "$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \375 -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \376 -Dcatalina.base="$CATALINA_BASE" \377 -Dcatalina.home="$CATALINA_HOME" \378 -Djava.io.tmpdir="$CATALINA_TMPDIR" \379 # org.apache.catalina.startup.Bootstrap "$@" start \380 # >> "$CATALINA_OUT" 2>&1 &381 org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \ 382 | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &383 384 fi[root@localhost bin]# ./catalina.sh startUsing CATALINA_BASE: /app/apache-tomcat-7.0.61Using CATALINA_HOME: /app/apache-tomcat-7.0.61Using CATALINA_TMPDIR: /app/apache-tomcat-7.0.61/tempUsing JRE_HOME: /app/jdk1.7.0_79Using CLASSPATH: /app/apache-tomcat-7.0.61/bin/bootstrap.jar:/app/apache-tomcat-7.0.61/bin/tomcat-juli.jarTomcat started.[root@localhost bin]# service tomcat stop[root@localhost bin]# service tomcat start
可以通过./catalina.sh start 来查看配置文件是否正确;这样在/usr/local/tomcat/logs每天会自动生成catalina.%Y-%m-%d.out文件,下面我们要做的是定期清理这些过期的文件,我们可以通过crontab来实现
[root@localhost logs]# crontab -eno crontab for root - using an empty onecrontab: installing new crontab[root@localhost logs]# crontab -l30 5 * * 6 /bin/find /usr/local/tomcat/logs/ -mtime +7 -type f -name "catalina.*.out" -exec /bin/rm -f {} \;[root@localhost logs]# cat /var/spool/cron/root 30 5 * * 6 /bin/find /usr/local/tomcat/logs/ -mtime +7 -type f -name "catalina.*.out" -exec /bin/rm -f {} \;[root@localhost logs]#日期格式串:
%a 本地简短星期名(e.g.: Sun..Sat) %A 本地完整星期名(e.g.: Sunday .. Saturday) %b 本地简短月名(e.g.: Jan .. Dec) %B 本地完整月名(e.g.: January .. December) %c 本地日期与时间(e.g.: "Sun Dec 15 14:12:47 GMT 1996″) %d 一月中的第几日(01 .. 31) %j 一年中的第几天 (001 .. 366) %m 月名的数字表示 (01 .. 12) %U 一年中以星期日为每周第一天计算的星期数(00..53, 第一周包括新年的第一个星期日) %W 一年中以星期一为每周第一天计算的星期数(00..53, 第一周包括新年的第一个星期一) %w 星期名的数字表示 (0 .. 6, 0为星期日) %x 本地日期 (e.g. 今天在北京是: "15/12/96″) %y 不带世纪的年(00 .. 99) %Y 带世纪的年(1970 .. 2038)
时间格式串:
%H 24小时制小时(00..23) %I 12小时制小时(01..12) %p 本地AM/PM指示符 %M 分钟(00..59) %S 秒(00..61) %X 本地时间(e.g.: "15:12:47″) %Z 时区 (e.g. GMT),如果不能检测出时区,值为空
特殊格式串:
%% %字符 %n 新行 %t tab字符
总结
以上所述是小编给大家介绍的Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
星期
e.g.
日志
文件
小时
日期
时间
格式
简短
世纪
可以通过
字符
数字
时区
级别
路径
配置
天数
数据
数据库
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
安卓手机管理服务器软件
安东尼nba数据库
二分法C语言软件开发
网络安全与应用技术研究生院校
服务器 管理端口
最新的无线网络技术
db2新建数据库用户
DAP网络安全产品
教育软件开发公司哪个好
人脸识别说数据库没有怎么办
梦幻古龙数据库
无组件上传数据库
合山微信小程序数据库接口
怎么查数据库空间使用情况
怎么向网络技术发展趋势
互联网科技行业股票
网络技术入门经典 百度云
色诺芬数据库账号
合肥滨湖软件开发培训贵不贵
阿里数据库开发手册
新网络技术论坛
崇明区机械软件开发服务生产厂家
广州四叶草网络技术公司
如何认识到当今网络安全的情况
软件开发培训得多久能上手
小学生网络安全知识判断题
传输网络技术看什么书
全球服务器总销量
开源数据库实施工程师
曙光服务器raid手册