centos中weblogic日志清理策略
导读:CentOS 中 WebLogic 日志清理策略 一 策略总览与优先级 优先使用 WebLogic 内置日志轮转(按大小/时间、保留数量、时间后缀),这是最安全、对运行影响最小的方式。 对 nohup.out、GC 日志、诊断日志 等由外...
CentOS 中 WebLogic 日志清理策略
一 策略总览与优先级
- 优先使用 WebLogic 内置日志轮转(按大小/时间、保留数量、时间后缀),这是最安全、对运行影响最小的方式。
- 对 nohup.out、GC 日志、诊断日志 等由外部进程或 JVM 产生的文件,使用 logrotate 做系统级轮转与压缩归档。
- 对历史归档与超大目录,使用 定时脚本 + find 做二次清理(按天/周/月保留),避免磁盘被占满。
- 建议配合 集中化日志(如 rsyslog/ELK)与 审计(auditd),便于留痕与容量规划。
二 WebLogic 内置日志轮转配置
- 典型日志路径(WebLogic 9+):
- 服务器日志:$DOMAIN_HOME/servers//logs/.log
- 访问日志:$DOMAIN_HOME/servers//logs/access.log
- 域日志:$DOMAIN_HOME/servers/AdminServer/logs/.log
- 控制台配置要点(Environment → Servers → → Logging → General):
- Rotation Type:选择 By Size 或 By Time;
- Rotation File Size:开发模式默认 500 KB,生产模式默认 5000 KB;
- Begin Rotation Time / Rotation Interval:按时间轮转时使用;
- Limit Number of Retained Files:设置保留文件数,超出后循环覆盖最旧文件;
- File Name:可加入时间格式占位符(如 %yyyy%%MM%%dd%%hh%%mm%)生成时间后缀;
- Log File Rotation Directory:可指定轮转文件存放目录;
- 系统存在 2,097,152 KB(约 2 GB) 的硬阈值,防止日志过度增长。
- 建议值示例:生产环境按大小 50–100 MB、保留 30–90 个;按时间每日轮转并保留 7–30 天。
三 系统级 logrotate 配置示例
- 适用对象:nohup.out、GC 日志、诊断日志 等外部/非 WebLogic 托管的日志。
- 示例(/etc/logrotate.d/weblogic):
# 示例1:nohup.out(按日轮转,保留7天,压缩归档)
/opt/weblogic/user_projects/domains/mydomain/nohup.out {
daily
rotate 7
missingok
notifempty
compress
copytruncate
create 0644 weblogic weblogic
}
# 示例2:GC 日志(按日轮转,保留30天)
/opt/weblogic/user_projects/domains/mydomain/servers/*/logs/gc*.log {
daily
rotate 30
missingok
notifempty
compress
copytruncate
dateext
dateformat -%Y%m%d
create 0644 weblogic weblogic
}
- 说明:
- 使用 copytruncate 可避免重启进程;若进程支持信号轮转(如 log4j2),可改用 postrotate 发送 USR1。
- 对按时间命名的轮转文件,建议开启 dateext 并使用 dateformat 统一后缀,便于清理。
- 测试配置:logrotate -d /etc/logrotate.d/weblogic;强制运行:logrotate -f /etc/logrotate.d/weblogic。
四 定时脚本清理历史归档
- 场景:清理超过 N 天 的轮转归档(如 .gz、.zip、.log.YYYYMMDD 等)。
- 示例脚本(保留最近 30 天):
#!/bin/bash
LOG_DIR="/opt/weblogic/user_projects/domains/mydomain"
find "$LOG_DIR" -type f \( -name "*.gz" -o -name "*.zip" -o -name "*.log.*" \) \
-mtime +30 -delete
- 加入 crontab(每天 02:10 执行):
10 2 * * * /opt/weblogic/scripts/cleanup_logs.sh >
>
/var/log/weblogic_cleanup.log 2>
&
1
- 安全提示:
- 先用 -print 验证匹配文件,再改为 -delete;
- 避免对正在写入的 .log 主文件使用 find -delete;如需清空运行中文件,使用 : > file 或 truncate -s 0 file,更稳妥。
五 安全与运维注意事项
- 清理前先 备份 关键日志;变更通过 变更窗口 执行,保留 回滚方案。
- 避免误删:不要一次性 rm -rf $DOMAIN_HOME/servers//logs/;如确需清理,先停服务或仅清理归档与历史子目录。
- 运行期清空文件优先用 : > file 或 truncate,避免删除后句柄失效导致日志中断。
- 建议开启 日志集中(rsyslog/ELK)与 审计(auditd),便于追踪与容量预警。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos中weblogic日志清理策略
本文地址: https://pptw.com/jishu/786125.html
