如何使用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|l][u|o][t|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的硬盘空间出来

相关推荐
8K超高清16 小时前
高校巡展:中国传媒大学+河北传媒学院
大数据·运维·网络·人工智能·传媒
ben9518chen17 小时前
嵌入式Linux C语言程序设计九
linux·c语言
wuk99817 小时前
CentOS7环境搭建L2TP服务器
运维·服务器
恒创科技HK17 小时前
香港1核2G云服务器当网站服务器够用不?
运维·服务器
IT 小阿姨(数据库)17 小时前
PostgreSQL 之上的开源时序数据库 TimescaleDB 详解
运维·数据库·sql·postgresql·开源·centos·时序数据库
颜大哦18 小时前
linux安装mysql
linux·运维·mysql·adb
学习3人组18 小时前
Node.js 网站服务器开发
运维·服务器·node.js
来知晓18 小时前
Linux:WSL内存空间管理之清完内存C盘可用空间不增问题解决
linux·运维·服务器
大聪明-PLUS18 小时前
嵌入式 Linux 初学者指南 – 第 2 部分
linux·嵌入式·arm·smarc
GTgiantech19 小时前
科普SFP 封装光模块教程
服务器·网络·数据库