centos系统中weblogic日志清理方法
导读:CentOS系统中WebLogic日志清理方法 1. 手动清理日志文件(快速释放空间) 通过命令行直接删除指定目录下的日志文件,适用于紧急清理。 核心日志路径:WebLogic日志通常位于域目录的servers子目录下(如/user_pr...
CentOS系统中WebLogic日志清理方法
1. 手动清理日志文件(快速释放空间)
通过命令行直接删除指定目录下的日志文件,适用于紧急清理。
- 核心日志路径:WebLogic日志通常位于域目录的
servers子目录下(如/user_projects/domains/your_domain/servers/AdminServer/logs),主要包含server.log(服务器运行日志)、access.log(HTTP访问日志)等。 - 清理命令:
# 删除所有服务器下的日志文件(谨慎使用,建议先备份) rm -rf $DOMAIN_HOME/servers/*/logs/* # 若需保留最近7天的日志,可结合find命令(例如删除7天前的.log文件) find $DOMAIN_HOME/servers/*/logs -name "*.log" -mtime +7 -exec rm -f { } \; - 注意:若WebLogic服务正在运行,直接删除
server.log可能导致日志断裂,建议先停止服务或使用cat /dev/null > server.log清空文件(不影响服务运行)。
2. 配置日志轮转(自动化管理)
通过日志轮转工具(如logrotate)定期分割、压缩和删除旧日志,避免日志文件无限增长。
- 安装logrotate(若未安装):
sudo yum install logrotate -y - 创建WebLogic专用配置文件:
在/etc/logrotate.d/目录下创建weblogic文件,添加以下内容(根据实际情况调整路径):/path/to/weblogic/domain/logs/*.log { daily # 每天轮转一次 rotate 7 # 保留7个轮转后的日志文件 compress # 压缩旧日志(节省空间) missingok # 若日志文件不存在,不报错 notifempty # 若日志为空,不轮转 create 640 root adm # 新日志文件权限(属主root,属组adm) sharedscripts # 所有日志轮转完成后执行postrotate脚本 postrotate # 向WebLogic进程发送HUP信号,使其重新打开日志文件 if [ -f /path/to/weblogic/domain/logs/server.log ]; then kill -HUP $(cat /path/to/weblogic/domain/logs/server.pid) fi endscript } - 测试配置:
手动触发轮转,检查是否生效:sudo logrotate -f /etc/logrotate.d/weblogic - 查看轮转日志:
监控/var/log/logrotate.log,确认轮转过程无错误。
3. 通过WebLogic控制台配置日志轮转(推荐)
利用WebLogic管理控制台调整日志轮转策略,无需修改配置文件,更直观。
- 操作步骤:
- 登录WebLogic控制台(
http://服务器IP:7001/console)。 - 导航至环境 > 服务器 > 服务器名称 > 日志 > 常规。
- 配置轮转参数:
- 旋转类型:选择“按大小”(
By Size)或“按时间”(By Time)。- 按大小:设置
旋转文件大小(如500MB),达到阈值后自动轮转。 - 按时间:设置
开始轮转时间(如00:00)和轮转间隔(如每天、每周)。
- 按大小:设置
- 保留文件数:勾选“限制保留的文件数”,设置最大保留数量(如7个),超过则覆盖最旧的日志。
- 文件名格式:可选添加时间戳(如
server_%yyyy%_%MM%_%dd%.log),便于归档。
- 旋转类型:选择“按大小”(
- 保存配置,重启WebLogic使更改生效。
- 登录WebLogic控制台(
4. 定时任务自动清理(长期维护)
通过crontab设置定时任务,定期执行清理脚本,实现无人值守管理。
- 创建清理脚本(如
/home/weblogic/scripts/clean_weblogic_logs.sh):#!/bin/bash # 定义日志目录 LOG_DIR=/user_projects/domains/your_domain/servers/*/logs # 删除30天前的.log文件 find "$LOG_DIR" -name "*.log" -mtime +30 -exec rm -f { } \; # 清空当前日志文件(避免文件过大) find "$LOG_DIR" -name "*.log" -exec sh -c 'cat /dev/null > { } ' \; - 赋予执行权限:
chmod +x /home/weblogic/scripts/clean_weblogic_logs.sh - 添加定时任务(每天凌晨2点执行):
添加以下内容:crontab -e0 2 * * * /home/weblogic/scripts/clean_weblogic_logs.sh > > /var/log/weblogic_clean.log 2> & 1 - 查看定时任务日志:
通过tail -f /var/log/weblogic_clean.log监控清理情况。
注意事项
- 备份重要日志:清理前建议备份关键日志(如
server.log),防止误删导致问题排查困难。 - 避免影响服务:清理运行中的日志文件时,优先使用
kill -HUP或清空文件(cat /dev/null > file),而非直接删除。 - 调整保留策略:根据磁盘空间和日志重要性,合理设置保留天数或文件数量(如生产环境建议保留7-30天)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos系统中weblogic日志清理方法
本文地址: https://pptw.com/jishu/745923.html
