OGG运维优化脚本(十四)-信息同步类--定义文件自动下发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OGG运维优化脚本(十四)-信息同步类--定义文件自动下发相关的知识,希望对你有一定的参考价值。

文件: resend.sh

路径:$HOME/ggscript/ggdef

功能:该脚本为用于应对目标端因为定义文件失效导致的进程异常中断所设计

因源端业务经常未通知目标端以及系统组自行修改表结构

因此设计该脚本自动生成定义文件,并发送至指定目标机器的相应路径,以用于目标机器REPLICATE进程的正常读取

日志路径:$HOME/gglog/ggupload

#!/bin/bash
cd $HOME
if [ -f .profile ];then
        . .profile
fi

if [ -f .bash_profile ];then 
        . .bash_profile
fi


if [ $# -eq 0 ]; then
        echo "info defprm"
        exit 2
fi
mydate=`date +20%y-%m-%d-%H:%M`
filename=$1

cd $HOME/ggserver/dirdef
if [ ! -d bak ];then
        mkdir bak  && echo "Directory bak created." ||  echo "Error: Failed to create directory $dr."
else
        echo "bak directory exits!"
fi
cd $HOME/ggserver/dirprm
if [ ! -e $filename ];then
    echo  "the file is not exist!"
	exit 2
fi

cat $filename > $HOME/ggscript/ggdef/temp
defsfile=`cat $HOME/ggscript/ggdef/temp |grep DEFSFILE|cut -d ‘/‘ -f 3`
target=`cat $HOME/ggscript/ggdef/temp |grep TARGET:|cut -d ‘:‘ -f 2`
release=`cat $HOME/ggscript/ggdef/temp |grep RELEASE:|cut -d ‘:‘ -f 2`
echo $defsfile  $target $release


cd $HOME/ggserver/dirdef

if [ -d `$defsfile` ];then
        mv $defsfile bak/$defsfile      
fi

cd $HOME/ggserver
if [ "$release" == "10.4" ];then
	$HOME/gg104/defgen paramfile $HOME/ggserver/dirprm/$filename	
else
	./defgen paramfile $HOME/ggserver/dirprm/$filename
fi

cd $HOME/ggserver/dirdef

echo $target $defsfile


size=`cat $defsfile| wc -c`

echo $size

#exec /bin/bash $HOME/ggscript/ggupload/upload.sh $target $HOME/ggserver/dirdef/$defsfile sysinfo

if [ $size -le 1000 ];then
        exit 2
else
       /bin/bash $HOME/ggscript/ggupload/upload.sh $target $HOME/ggserver/dirdef/$defsfile sysinfo
fi


本文出自 “netsman” 博客,请务必保留此出处http://netsman.blog.51cto.com/5750076/1939625

以上是关于OGG运维优化脚本(十四)-信息同步类--定义文件自动下发的主要内容,如果未能解决你的问题,请参考以下文章

OGG运维优化脚本(十三)-信息同步类--进程信息上传

OGG运维优化脚本-查询维护类--进程详细信息查询

OGG维护优化脚本(二十四)-OGG状态监控系统--后台脚本

OGG运维优化脚本-信息修改类--快速注释

OGG运维优化脚本(二. 五)-信息修改类--快速加表

OGG运维优化脚本-信息修改类--批量取消注释