如何使用linux日志管理工具来管理oracle osb服务器日志文件?

​场景:做一个OSB项目,生产环境每天至少有几十万次接口调用,因报文量大,数据库存储容量有限,也因早期接口问题较多,所以osb上的每个接口都会把接收到的数据打到log文件中(接口数据打印到log统一由模板实现),便于查找问题,这就导致集群上每台服务器每天的log大小都超过1g,甚至多的话一天一台服务器就有10多G的日志产生,而weblogic服务器中的日志配置不能对*.out类型的日志文件进行控制,且也不支持日志压缩,造成服务器硬盘空间浪费

为此,我们找到了一种方法,就是使用linux自带的日志管理工具logrotate来管理osb服务器上的日志文件,实现步骤如下:

在目录/etc/logrotate.d/下创建文件osb_log

文件内容如下:

DOMAIN/servers/\*/logs/\*.\[o\|l\]\[u\|o\]\[t\|g\] DOMAIN/servers/*/logs/*.o\|lu\|ot\|g?????

{

daily

rotate 30

copytruncate

compress

delaycompress

missingok

dateext

notifempty

create 644 oracle oracle

prerotate

find $DOMAIN/servers/*/logs -type f \( -iname '*.log*' -o -iname '*.out*' \) -mtime +30|xargs rm -rf

find $DOMAIN/servers/*/logs/ \( -iname '*.log?*' -o -iname '*.out?*' \) -type f -size 0c -mtime +1 | xargs rm -rf

endscript

postrotate

/usr/bin/killall -HUP rsyslogd

endscript

}

保存即可,剩下的事交由系统去处理。

脚本实现的功能:每天把osb domain中的所有admin服务和受管服务下的log进行截断并压缩,同时清除30天前的日志记录

脚本适用环境:linux5.4及以上版本的操作系统,5.4以前的操作系统没经过测试(测试发现脚本日志文件地址的查找在linux5.4版本中支持正则表达式,而linux6.6的版本则只支持通配符方式)

效果:日志文件压缩率达到90%,记得一下子就腾出了50多G的硬盘空间出来

相关推荐
GeW23 分钟前
RHCE快速拿证全攻略:考点拆解+实验强化+时间规划,一次通关
linux
见闻小天地1 小时前
从晶片工艺到可靠性验证:晶威特TF-3215型RTC晶振全面解析
运维·业界资讯
沸速存储1 小时前
AI 机器人靠哪些内存与存储驱动整机运行?
服务器·科技·嵌入式硬件·电脑
码农小韩1 小时前
Linux应用开发(八)——TCP/IP网络编程基础
linux·嵌入式软件开发·linux操作系统·嵌入式操作系统·linux网络编程·linux应用
迷途之人不知返1 小时前
【进程】-5-进程优先级
linux
名字还没想好☜2 小时前
Docker 网络实战:bridge/host/none/自定义网络、容器互通与端口映射踩坑
运维·docker·kubernetes
fengyehongWorld2 小时前
Linux squid搭建基础代理服务器
linux·运维·服务器
木白CPP2 小时前
Linux DMA驱动详解(二)-----DMA的使用者
java·linux·运维
赵民勇3 小时前
systemd-socket-activate命令详解
linux·运维
跨境小彭3 小时前
Temu运营避坑:制造地点信息填写规范、后果及批量实操教程
大数据·运维·自动化·跨境电商·temu