千家信息网

Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,System.out和System.err都被打印到catalina.out。catalina.out不会rotate。一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系
千家信息网最后更新 2026年11月01日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安全错误 数据库的锁怎样保障安全 云信互联网科技有限公司 科技互联网龙头 没上市的科技互联网公司 互联网科技与金融科技 礼当家互联网科技 鑫亿盛互联网科技 电子科技大学互联网 易通互联网络科技有限公司 互联网科技小额贷款 镁科技互联网资讯平台 互联网科技扶贫时间 广西互联网科技孵化中心 民营互联网公司国防科技 明优互联网科技有限公司 元气玛特互联网科技公司是外包吗 卡尔迅互联网科技有限公司 南京一网一红互联网科技有限公司 互联网科技创业计划的风险分析 优雇互联网科技有限公司 互联网科技创新方面的资料 广州紫鲸互联网科技 深圳期待互联网科技 联恩商钥互联网科技有限公司 滨湖区互联网智能科技产品供应 宁波青枫互联网科技有限公司 互联网5g黑科技有哪些 广东工业互联网大赛深圳学泰科技 张召忠谈中国互联网科技 互联网领先科技活动 互联网科技创业有什么好项目
0