进入 tomcat bin目录下新建sh脚本
[root@iZon201ihvpnoi2e3ftkphZ bin]# nano cut_log.sh
填写:
#!/bin/bash
cd `dirname $0`
DATE=`date +%Y-%m-%d`
DATE30=`date -d '30 days ago' +%Y-%m-%d`
cd /usr/local/tomcat/apache-tomcat-9.0.88/logs/
ls others >/dev/null 2>&1
if [ $? != 0 ];then
mkdir others
fi
find . -type f -mtime +30 -exec rm -f {} \;
cp catalina.out catalina.out.${DATE}
echo "" > catalina.out
给个权限 执行一下~
chmod +x cut_log.sh
看看日志,成功~
设置定时任务
crontab -e
50 23 * * * /usr/local/tomcat/apache-tomcat-9.0.88/bin/cut_log.sh
#23点50分执行此脚本
[root@iZon201ihvpnoi2e3ftkphZ bin]# crontab -l
*/5 * * * * /root/sync_sh/lssj.sh
55 23 * * * /usr/local/tomcat/apache-tomcat-9.0.88/bin/cut_log.sh
[root@iZon201ihvpnoi2e3ftkphZ bin]#
{/collapse-item}
{collapse-item label="docker安装方式"}
Tomcat日志文件:
Tomcat的日志分为多种类型,每种类型都有独立的文件:
Catalina日志:记录Tomcat容器的启动、停止和运行状态(如catalina.2025-06-17.log)。
Host-manager/Manager日志:记录Tomcat管理界面的操作(如host-manager.2025-06-17.log和manager.2025-06-17.log)。
Localhost日志:记录应用程序的调试或错误信息(如localhost.2025-06-17.log)。
Access日志:记录HTTP请求的详细信息(如localhost_access_log.2025-08-05.txt)。
Access日志数量多的原因:
Tomcat的AccessLogValve默认配置会按日期和文件大小分割日志。例如,每天生成一个新的日志文件,或者当文件达到一定大小时分割。
如果没有明确配置分割规则,可能会频繁生成新文件(例如按小时或请求量分割),导致文件数量较多。
如何控制Tomcat的Access日志数量?
如果需要减少Tomcat的访问日志文件数量,可以修改Tomcat的conf/server.xml文件中的AccessLogValve配置。例如:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"
fileDateFormat="yyyy-MM-dd"
rotatable="true"
maxDays="7"/> <!-- 保留最近7天的日志 -->
通过maxDays参数可以限制日志文件的保留天数,从而减少文件数量。
{/collapse-item}
评论 (0)