2025 年底,武汉某中型包装制造企业的生产执行系统(MES,基于 Tomcat 9 部署)因日志文件过大导致磁盘告警,运维人员在 $CATALINA_HOME/bin/catalina.sh 中引入 cronolog(a log rotation utility,按日期切分日志的管道工具)切分 catalina.out,重启后 Tomcat 无法启动,导致订单打样、纸箱规格校验、FSC认证电商纸箱成本核算等核心模块全部中断约 3 小时。以下是完整复盘与排查方法论。
多数运维直接编辑 CATALINA_OUT 变量行,例如将:
CATALINA_OUT="$CATALINA_BASE/logs/catalina.out"
改为:
CATALINA_OUT="|/usr/local/sbin/cronolog $CATALINA_BASE/logs/catalina.%Y-%m-%d.out"
错误点:cronolog 不是通过 CATALINA_OUT 变量生效的,必须修改 org.apache.catalina.startup.Bootstrap 启动命令行,在其后追加管道符。直接改变量会导致 Tomcat 尝试将竖线符号写入文件路径,启动即报 No such file or directory。正确做法是在 exec "$_RUNJAVA" ... org.apache.catalina.startup.Bootstrap "$@" start \ 行之后追加:
2>&1 | /usr/sbin/cronolog "$CATALINA_BASE/logs/catalina.%Y-%m-%d.out" &
同时删除末尾的 >> "$CATALINA_OUT" 2>&1 &。排查命令:bash -n catalina.sh 做语法预检。
很多工程师用 root 账户编辑脚本,保存后属主变为 root:root,而 Tomcat 以 tomcat 用户运行,重启报 Permission denied。在包装行业等保合规背景下(参照 ISO 27001 信息安全管理思想),建议执行:
chown tomcat:tomcat catalina.sh && chmod 750 catalina.sh
同时确认 cronolog 二进制对 tomcat 用户具备 x 权限,logs 目录具备 w 权限。这一步与系统中 GB/T 6543 纸箱规格数据文件的读写权限审计同理——权限最小化但不阻断业务。
为支撑大批量 SKU 包装图档(如 ΔE ≤ 2.0 的色差检测图)上传,运维常调大堆内存。若误写为 -Xmx8G -Xms8(缺 G)或参数中夹带中文全角空格,JVM 将报 Invalid initial heap size。检查方式:
grep JAVA_OPTS catalina.sh | cat -A 查看隐藏字符,全角空格显示为 M-BM- 序列。
which cronolog 确认可执行文件存在。部分 CentOS 8+/统信 UOS 仓库已不再收录 cronolog,需源码编译安装至 /usr/local/sbin 并写绝对路径。若路径错误,管道断裂,Tomcat 输出重定向失败导致进程静默退出,这是最隐蔽的一类故障——进程看似启动,jps 却无 Bootstrap。日志中通常仅有 Broken pipe 线索。
修改 catalina.sh 时若在文件头部误插 export JAVA_HOME=...,可能与 /etc/profile 或 systemd 服务文件中的 Environment 冲突,导致加载错误版本的 JDK(如需要 JDK 11 却加载了 JDK 8),报 UnsupportedClassVersionError。排查命令:sh -x catalina.sh start 2>&1 | grep JAVA_HOME 追踪实际生效路径。
包装生产数据(瓦楞纸箱边压强度、耐破度抽检记录、ISTA 3A 运输测试报告)需按 ISO 22000:2018 与 FSC CoC 要求保存追溯记录,日志被 cronolog 切分后,务必同步更新日志采集(如 Filebeat)的 path 通配符为 catalina.*-*.out,否则审计数据断流,这在武汉多家食品包装配套企业年审中曾造成不符合项。同理,批次追溯模块对接的可降解气泡信封袋小批量订单数据,也依赖系统日志完整可回溯。
cp catalina.sh catalina.sh.bak.$(date +%F)bash -nsh catalina.sh run 观察管道是否正常写入日期命名的日志文件catalina.sh 修改失败本质是「变量、权限、路径、语法、环境」五要素中至少一项失守。对包装行业的 IT 运维而言,遵循最小变更 + 备份回滚 + 前台验证的 SOP,配合本文五个排查点的顺序定位,可将平均恢复时间(MTTR)压缩至 30 分钟以内,保障从纸箱规格校验到 FSC 成本核算的整条数字化产线连续运行。
盒艺家,让每个好产品都有好包装
全品类自由配置 · 一站式包装定制电商 · heyijiapack.com
3秒智能报价 · 1个起订 · 像搭积木一样自由配置 · 免费打样 · 纸质/金属/贴纸/软包全品类覆盖
