免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3112 | 回复: 18
打印 上一主题 下一主题

[系统管理] 大家帮我看看这段shell脚本为什么不执行 [复制链接]

论坛徽章:
3
2015年亚冠纪念徽章
日期:2015-09-11 14:20:14操作系统版块每日发帖之星
日期:2015-09-17 06:20:00数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-24 14:19 |只看该作者 |倒序浏览
#!/bin/sh
DSKLOG=/tmp/dsklog.lsnrctl;export DSKLOG
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=DEMOSFCS; export ORACLE_SID
PATH=$PATHORACLE_HOME/bin;export PATH
       ps -ef | grep lsnr |grep -v grep>/dev/null
        if [ $? -eq 0 ]
           then
              exit
           else
              echo `date`>$DSKLOG
              echo " The listener is down on 10.98.20.122">>$DSKLOG
              lsnrctl start>>$DSKLOG
        fi




一段监控oracle监听进程的脚本,当ps -ef | grep lsnr |grep -v grep没有结果时,以上脚本没有正常起作用,不知道是if里面哪里错了还是什么的

论坛徽章:
1
2015亚冠之全北现代
日期:2015-08-11 10:05:30
2 [报告]
发表于 2015-08-24 14:47 |只看该作者
没有正常起作用是说$DSKLOG文件为空,还是lsnrctl start没有执行?
可以用 sh -x调试看输出内容

论坛徽章:
3
2015年亚冠纪念徽章
日期:2015-09-11 14:20:14操作系统版块每日发帖之星
日期:2015-09-17 06:20:00数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
3 [报告]
发表于 2015-08-24 15:31 |只看该作者
lsnrctl start没有执行回复 2# junfer


   

论坛徽章:
3
2015年亚冠纪念徽章
日期:2015-09-11 14:20:14操作系统版块每日发帖之星
日期:2015-09-17 06:20:00数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
4 [报告]
发表于 2015-08-24 15:32 |只看该作者
$DSKLOG文件也为空回复 2# junfer


   

论坛徽章:
3
2015年亚冠纪念徽章
日期:2015-09-11 14:20:14操作系统版块每日发帖之星
日期:2015-09-17 06:20:00数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
5 [报告]
发表于 2015-08-24 15:35 |只看该作者
[oracle@DEMOSFCS script]$ sh -x ./lsnralert.sh
+ DSKLOG=/tmp/dsklog.lsnrctl
+ export DSKLOG
+ ORACLE_BASE=/u01/app/oracle
+ export ORACLE_BASE
+ ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
+ export ORACLE_HOME
+ ORACLE_SID=DEMOSFCS
+ export ORACLE_SID
+ PATH=/u01/app/oracle/product/11.2.0/db_1/bin:/usr/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin:/u01/app/oracle/product/11.2.0/db_1/bin
+ export PATH
+ ps -ef
+ grep lsnr
+ grep -v grep
+ '[' 0 -eq 0 ']'
+ exit
[oracle@DEMOSFCS script]$回复 2# junfer


   

论坛徽章:
1
2015亚冠之全北现代
日期:2015-08-11 10:05:30
6 [报告]
发表于 2015-08-24 15:43 |只看该作者
这个输出说明lsnr进程存在,所以按照执行脚本正常退出。
试试将lsnr进程停掉,然后再运行,看看输出。

论坛徽章:
3
2015年亚冠纪念徽章
日期:2015-09-11 14:20:14操作系统版块每日发帖之星
日期:2015-09-17 06:20:00数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
7 [报告]
发表于 2015-08-24 15:48 |只看该作者
[oracle@DEMOSFCS script]$ ps -ef|grep lsnr |grep -v grep
[oracle@DEMOSFCS script]$ sh -x ./lsnralert.sh
+ DSKLOG=/tmp/dsklog.lsnrctl
+ export DSKLOG
+ ORACLE_BASE=/u01/app/oracle
+ export ORACLE_BASE
+ ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
+ export ORACLE_HOME
+ ORACLE_SID=DEMOSFCS
+ export ORACLE_SID
+ PATH=/u01/app/oracle/product/11.2.0/db_1/bin:/usr/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin:/u01/app/oracle/product/11.2.0/db_1/bin
+ export PATH
+ ps -ef
+ grep lsnr
+ grep -v grep
+ '[' 0 -eq 0 ']'
+ exit
[oracle@DEMOSFCS script]$回复 6# junfer


   

论坛徽章:
3
2015年亚冠纪念徽章
日期:2015-09-11 14:20:14操作系统版块每日发帖之星
日期:2015-09-17 06:20:00数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
8 [报告]
发表于 2015-08-24 15:49 |只看该作者
进程不存在啊,执行ps -ef|grep lsnr |grep -v grep没有结果的回复 6# junfer


   

论坛徽章:
3
2015年亚冠纪念徽章
日期:2015-09-11 14:20:14操作系统版块每日发帖之星
日期:2015-09-17 06:20:00数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
9 [报告]
发表于 2015-08-24 15:53 |只看该作者
回复 6# junfer


   

论坛徽章:
1
2015亚冠之全北现代
日期:2015-08-11 10:05:30
10 [报告]
发表于 2015-08-24 16:09 |只看该作者
实在看不出了,试试 if [ "$?" -eq 0 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP