博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ups机制下停电提前关闭oracle数据库
阅读量:6293 次
发布时间:2019-06-22

本文共 1361 字,大约阅读时间需要 4 分钟。

   思路:在一个受ups保护的机器A1上写脚本,几分钟(如半分钟)ping不在ups保护的机器B,如果几次(如5次)ping不同,这时我们认为将要停电,此时脚本执行正常关闭受ups保护的机器上数据库的命令。注意,1-要保证在有电时A1和B的连通性,2-停电来电后,最好先开启B机器,然后开启其他机器。

check_ping.sh

#!/bin/bash#检测主机Server=172.18.88.11#ping不通时临时结果保存位置Ping_Result=/root/ping_result.tmp#检测日志LOG=/root/ping.log#连续检测不通次数CheckNum=5#检查间隔时间CheckInterval=30s#当前已连续检测不通次数Count=0while truedo    ping -w 3 $Server > $Ping_Result    [ `grep 'time=' $Ping_Result|wc -l` -ge 1 ]    Result=$?    if [ $Result -eq 0 ]    then        Count=0        echo >> $LOG        echo `date +%Y-%m-%d_%H:%M:%S` 'check OK'>> $LOG        echo >> $LOG    else        ((Count=$Count+1))            echo >> $LOG        echo `date +%Y-%m-%d_%H:%M:%S` 'ping error' >> $LOG        echo 'ping result:'>> $LOG        echo '    consecutive '$Count' times' >> $LOG        echo '    连续第' $Count '次未ping通' >> $LOG    echo 'ping detail:' >> $LOG    cat $Ping_Result |xargs -i echo '    '{} >> $LOG        echo >> $LOG        if [ $Count -eq $CheckNum ]        then                    echo 'shutdown oracle ...' >> $LOG            su - oracle -c '/home/oracle/stop.sh' >> $LOG             echo 'shutdown oracle complete' >> $LOG            echo >> $LOG            echo >> $LOG            Count=0        fi    fi        sleep $CheckIntervaldone

stop.sh

#!/bin/shlsnrctl stopsqlplus /nolog <

转载于:https://www.cnblogs.com/windyWu/p/4726208.html

你可能感兴趣的文章
https搭建(openssl)
查看>>
CISCO上ADSL配置的方法
查看>>
队列实现qq解密
查看>>
制作RPM包
查看>>
mysql多实例脚本
查看>>
python文件操作举例
查看>>
Outlook 2003命令行参数开关详解
查看>>
mysql中文乱码问题的解决方案
查看>>
Redhat7开机图形或文字界面
查看>>
Linux state 方式 安装nginx 服务
查看>>
LNMP(php-fpm的pool,慢执行日志,定义open_bashdir,php-fpm进程管理
查看>>
Flask rst 文档转换为html格式文件
查看>>
python 安装第三方库pygame
查看>>
Linux下的grep命令详解
查看>>
磁盘系统管理
查看>>
Linux下ftp+ssl实现ftps
查看>>
JavaScript基础
查看>>
Nginx之反向代理与负载均衡实现动静分离实战
查看>>
Object类型转换为long或者Long
查看>>
16位流应用与代码统计器例题
查看>>