Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,System.out和System.err都被打印到catalina.out。catalina.out不会rotate。一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
软件开发项目报价
自动气象站 数据库
南京erp软件开发要多少费用
计算机网络技术分析脸型
原神小米属于什么服务器
dell r220服务器主板
网络技术分类特点
广州工商银行软件开发部在哪里
数据库加密 中标
陕西浪潮服务器维修系统虚拟主机
安冉 网络安全
饥荒专用服务器改房间名
华为网络技术大赛赛区
金华软件开发自学步骤
目前主要有三种服务器虚拟化技术
六一出台网络安全
百兆独享服务器租用
服务器虚拟机安全模式
软件开发各类文档模板下载
医疗改革网络安全产品
sql数据库设备错误
关于网络安全的图片
移动网络安全大赛
数据库安全监管系统
美国g口云服务器
wordpress 数据库设计
问道道16是什么服务器
loxone迷你服务器
大专数据库应用技术就业方向
服务器运行不稳定是什么原因