惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
博客园 - 司徒正美
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog

博客园 - fengjian1585

麒麟linx v10 sp3 cgroup v1 变更为cgroup v2 k8s Gateway API 详解 linux 挂载点覆盖清理原数据 coze 入门学习 手机安装 openclaw 关闭ingress 8443 端口 Harbor 启用 Trivy 禁用 MinIO 的 Web Console 重定向功能 堆设置了8G,java进程却占用了12G内存 k8s优化选项 pod启动后一直containerCreating状态解决 Kubernetes Cilium网络组件和CoreDNS配置 mkfs对磁盘设置标签 K8S的CoreDns配置文件添加域名解析 nginx代理两套k8s ingress 不同域名 pip 搭建源 使用 kubectl debug 创建临时调试容器 openvpn server证书过期处理 - fengjian1585 Harbor Swagger接口泄露漏洞处理 "too many open files" 文件句柄 Kafka 常见故障及解决方案 华为昇腾 910B GPU Nginx与Upstream之间产生大量TIME_WAIT连接的解决办法 debian libc.musl-x86_64.so.1 => not found
tomcat 设置 catalina.out 按天切割
fengjian1585 · 2026-01-08 · via 博客园 - fengjian1585

创建或修改 setenv.sh
在 Tomcat 的 bin 目录下创建或编辑 setenv.sh:

#!/bin/bash
# setenv.sh - Tomcat 日志按天切割配置

# 设置 cronolog 按天切割日志
export CATALINA_OUT_CMD="/usr/bin/cronolog \"$CATALINA_BASE/logs/catalina.%Y-%m-%d.out\""

# 可选:设置日志保留策略(通过 find 命令清理旧日志)
# export LOG_CLEAN_CMD="find $CATALINA_BASE/logs -name 'catalina.*.out' -mtime +30 -delete"

# 确保 logs 目录存在
mkdir -p "$CATALINA_BASE/logs"

# 给脚本执行权限
chmod +x "$CATALINA_HOME/bin/setenv.sh"

步骤3:修改 catalina.sh(可选但推荐)
在 catalina.sh 开头添加环境检查:

# 在 catalina.sh 文件顶部添加
if [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
  . "$CATALINA_HOME/bin/setenv.sh"
fi

catalina.out输出路径

if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="/opt/applog/tomcatlog/catalina.out"
fi

  >> "$CATALINA_OUT" 2>&1  & 去掉放到后台

elif [ "$1" = "run" ]; then

  shift
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval exec "\"$_RUNJAVA\"" "\"$CATALINA_LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \
      -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
      -classpath "\"$CLASSPATH\"" \
      -Djava.security.manager \
      -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
      -Dcatalina.base="\"$CATALINA_BASE\"" \
      -Dcatalina.home="\"$CATALINA_HOME\"" \
      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
      org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$CATALINA_OUT" 2>&1