本文共 1313 字,大约阅读时间需要 4 分钟。
在实际工作中,由于生产环境在出现问题的时候,中间件服务会出现大量的报错日志,若日志增长量极大的情况下,会出现磁盘空间被写满的情况而导致宕机,为了防止此情况出现,编写如下shell脚本进行规避此问题。
<一>本例已weblogic的后台输出日志从节点nohup.out为例,主节点已AdminServer.log为例,也想做此操作的亲请自行修改你本地的日志路径及名称!!
<二>确认服务器上已安装gzip命令内容
(1)创建主节点日志压缩脚本
vi adminlog_save.sh
1.编辑如下内容到文件:
##by skyfans 20160808##!/bin/bashTODAY=`date -u +"%Y%m%d"` /usr/bin/gzip -c /app/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/AdminServer.log>/app/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/AdminServer${TODAY}.out.gz> /app/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/AdminServer.log
2.保存并退出文件编辑。
3.执行测试。
sh adminlog_save.sh
(2)创建从节点日志压缩脚本
vi nohup_save.sh
1.编辑如下内容到文件:
##by skyfans 20160808##!/bin/kshTODAY=`date -u +"%Y%m%d"` #nohup_save.sh/usr/bin/gzip -c /root/Oracle/Middleware/user_projects/domains/base_domain/bin/nohup.out>/root/Oracle/Middleware/user_projects/domains/base_domain/bin/nohup${TODAY}.out.gz> /root/Oracle/Middleware/user_projects/domains/base_domain/bin/nohup.out
2.保存并退出文件编辑。
3.执行测试。
sh nohup_save.sh
(3)测试后出现如下情况说明脚本执行成功:
(4)添加定时任务到服务器
crontab -e
30 23 * * * /root/shells/adminlog_save.sh38 23 * * * /root/shells/nohup_save.sh
查看定时任务是否添加成功:
crontab -l
到此,我们日志压缩操作已经OK了,第二天在巡检时,可以进行检查是否日志已经进行了压缩,若出现如下情况,说明定时任务执行成功。
欢迎喜欢实施运维及数据的小伙伴加入群进行谈论!
运维技术群:263859509