从朋友那里得来的OGG 重启脚本,感觉很好用,分享给大家。

定时任务

00 6-20 * * * /oggdata/log/oggautorestart.sh >/oggdata/log/crontab_oggautorestart.log 2>&1
[说明]  因为晚上可以有维护操作,我们不希望在维护期间OGG 自动跑起来

脚本

oggautorestart.sh

#!/bin/bash
if [ -f ~/.bash_profile ];
then
      . ~/.bash_profile
fi

#OGG 目录
OGGHOME=/oggdata
#创建日志目录
if [ ! -d $OGGHOME/log ]; then
   mkdir $OGGHOME/log;
fi

cd $OGGHOME/log
echo "Start checking ......begin time: `date +'%Y%m%d %H:%M:%S'`" >> $OGGHOME/log/all.log
echo "info all"|$OGGHOME/ggsci|grep -E "MANAGER" >> $OGGHOME/log/status.all
echo "info all"|$OGGHOME/ggsci |grep -E "REPLICAT|EXTRACT" >> $OGGHOME/log/status.all

cat $OGGHOME/log/status.all | while read line
do
hhh=`echo $line | awk '{print $1}'`
sss=`echo $line | awk '{print $2}'`
nnn=`echo $line | awk '{print $3}'`

if [ "$hhh" = "MANAGER" ]
then
       if [ "$sss" != "RUNNING" ]
       then
               echo "$hhh is not running......start begin time: `date +'%Y%m%d %H:%M:%S'`" >> $OGGHOME/log/all.log
               echo "start $hhh" |$OGGHOME/ggsci
       else
               echo "MANAGER is running" >> $OGGHOME/log/ok.all
       fi

else
       if [ "$sss" != "RUNNING" ]
       then
               echo "$nnn is not running......start begin time: `date +'%Y%m%d %H:%M:%S'`" >> $OGGHOME/log/all.log
               echo "start $nnn" |$OGGHOME/ggsci
       else
               echo "$nnn is running" >> $OGGHOME/log/ok.all
       fi
fi

done

> $OGGHOME/log/status.all
> $OGGHOME/log/ok.all
echo "Ending check......end time: `date +'%Y%m%d %H:%M:%S'`" >> $OGGHOME/log/all.log
echo "##################" >> $OGGHOME/log/all.log

OGG 自动重启脚本的更多相关文章

  1. linux服务器挂掉自动重启脚本(转)

    实现原理主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,如果宕机则执行我们预设的重启脚本. 首先我们要向crontab加入一个新任务 sudo crontab -e #进入编 ...

  2. tomcat宕机自动重启脚本

    #!/bin/bash# 获取tomcat进程ID /usr/share/tomcatTomcatID=$(ps -ef |grep tomcat |grep -w 'tomcat'|grep -v ...

  3. Memcached进程挂掉自动重启脚本

    vim memcached_check.sh   #!/bin/sh #check memcached process and restart if down PATH=$PATH:/opt/env/ ...

  4. window程序意外关闭自动重启脚本实现

    @echo off : tasklist|find /i "xxxx"||start yyyy ping/n 127.1>nul 新建 .bat 文件,将其写入文件 xxxx ...

  5. linux下通过脚本实现自动重启程序的方法

    无论什么程序都不可能完美无缺,理论上,任何程序都有 Core Dump 的一天,正式运营的程序,尤其是服务器程序,一旦 Core Dump ,后果不堪设想,有过服务器开发经验的朋友,一定都经历过深夜美 ...

  6. supervisor开机自动启动脚本+redis+MySQL+tomcat+nginx进程自动重启配置

    [root@mongodb-host supervisord]# cat mongo.conf [program:mongo]command=/usr/local/mongodb/bin/mongod ...

  7. windows程序意外关闭子订重启脚本

    window程序意外关闭自动重启脚本实现   @echo off :1 tasklist|find /i "xxxx"||start yyyy ping/n 11 127.1> ...

  8. 【运维技术】shell脚本实现线程挂掉,自动重启功能

    由于分布式系统的流行,服务器上面部署的项目都是多实例的.而我又希望有一个功能,当服务器出现异常情况能够自动重启实例. 所以我想到了使用shell脚本监控实例进程id,如果不存在的话,就重启对应的实例. ...

  9. tomcat监控,自动重启shell脚本

    tomcat监控,自动重启shell脚本如下,取名 monitor_tomcat.sh: #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # 获取tomcat进程ID(其中 ...

随机推荐

  1. linux常用的命令和工具

    screen     管理会话工具 与之相似的工具还有tmux # screen // 进入一个回话 .还可以给会话取名 screen -S modify_screen #vim screen.txt ...

  2. 01.轮播图之三 : collectionView 轮播

    个人觉得 collection view 做轮播是最方便的,设置下flowlayout 其他不会有很大的变动,没有什么逻辑的代码 let's begin…… 创建自定义的view .h 声明文件 @i ...

  3. 侯捷C++内存管理(一)

    1.Overview 2.内存分配的每一层面 3.四个层面的基本用法 1).对比一下: 4.基本构件之一newdelete expression(上) ——>new和operator new.m ...

  4. xml 数组 互相转换方法

    public function xmlToArray($xml) { //将XML转为array $array_data = json_decode(json_encode(simplexml_loa ...

  5. [学习笔记] 在Eclipse中添加用户库 Add User Libraries ,在项目中引用用户库

    如果还没有安装Eclipse, 则请参考前文:  [学习笔记] 下载.安装.启动 Eclipse(OEPE) 添加用户库 本文主要介绍在项目中直接使用第三方库的情况.就是把第三方的jar文件直接放到某 ...

  6. 为什么Java中只有值传递

    原文链接:https://www.cnblogs.com/wchxj/p/8729503.html 在开始深入讲解之前,有必要纠正一下大家以前的那些错误看法了.如果你有以下想法,那么你有必要好好阅读本 ...

  7. 学习笔记:oracle学习二:oracle11g数据库sql*plus命令之数据库交互、设置运行环境

    目录 1.SQL*PLUS与数据库的交互 2.设置sql*plus运行环境 2.1 set命令简介 2.2 使用set命令设置运行环境 2.2.1 pagesize变量 2.2.2 NEWPAGE变量 ...

  8. Azure经典虚拟机(Windows)如何监测单个磁盘的使用空间

    Azure云平台创建经典虚拟机(Windows)后,发现仪表板的监测项下默认是没有针对磁盘空间进行检测的指标的 本地机器安装Windows Azure Powershell模块,并通过如下命令登陆并查 ...

  9. Python 【类与对象】

    类与对象 把类的个例就叫做实例 (instance),可理解为“实际的例子”类是某个特定的群体,实例是群体中某个具体的个体 Python中的对象等于类和实例的集合:即类可以看作是对象,实例也可以看作是 ...

  10. Linux十大顶级发行版本

    当前顶级发行版概览   对于Linux新手来说,在各发行版之间困惑得进行选择和不断增加的数量实在令人头晕.这就是写作本文的原因,其中列出的10个(附加一个值得一提的FreeBSD,BSD一族中最为流行 ...