一个简单的shell脚本:weblogic日志按天生成(日志压缩)

编写目的:

在实际工作中,由于生产环境在出现问题的时候,中间件服务会出现大量的报错日志,若日志增长量极大的情况下,会出现磁盘空间被写满的情况而导致宕机,为了防止此情况出现,编写如下shell脚本进行规避此问题。

注意:

<一>本例已weblogic的后台输出日志从节点nohup.out为例,主节点已AdminServer.log为例,也想做此操作的亲请自行修改你本地的日志路径及名称!!
<二>确认服务器上已安装gzip命令内容

(1)创建主节点日志压缩脚本

vi adminlog_save.sh

1.编辑如下内容到文件:

#
#by  skyfans    20160808
#
#!/bin/bash
TODAY=`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/ksh
TODAY=`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.sh
38 23 * * * /root/shells/nohup_save.sh

查看定时任务是否添加成功:

crontab -l

在这里插入图片描述

到此,我们日志压缩操作已经OK了,第二天在巡检时,可以进行检查是否日志已经进行了压缩,若出现如下情况,说明定时任务执行成功。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xzm5708796/article/details/83210611
今日推荐