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
时间: 2024-12-15 17:58:58

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

OGG运维优化脚本(四)-信息修改类--长事务跳过

文件名: skiptrans.sh skip.sh 所在路径:$HOME/ggscript/ggtrandata 功能:该脚本用于重启抽取进程时跳过长事务,可自动识别1小时以上的长事务并批量跳过,skiptrans.sh通过edit脚本选择调用,skip.sh用于在其他脚本中调用用,例如allstop.sh全goldengate进程停止脚本 Ps:目前该脚本目前仅适用于AIX和LINUX系统 skiptrans.sh #!/bin/bash function date2seconds {    

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

文件:processinfo.sh 路径:$HOME/ggscript/ggupload 功能:该脚本为满足维护配置时检查所有goldengate进程的详细源端目标端,定义文件等信息而设计 #!/bin/bash export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"  echo "This sciprt is write by RenYi" hn=`e

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

文件: upload.sh 路径:$HOME/ggscript/ggupload 功能:该脚本不会直接使用,为满足其他脚本进行信息上传而设计,在脚本内直接调用上传相应的文件信息 他会读取系统信息配置文件sysinfo内的系统配置信息 范例 [detest#] Ip-MTMyLjEyMS4xMDEuODYK UserName-Z2dzCg== PassWord-Z2dzxxxxxx Port-MjIK path-L2RhdGExL2dncy9nZ3NlcnZlci9kaXJkZWYK [#dete

OGG运维优化脚本(十五)-信息同步类--错误日志同步

文件:logtitle.sh  log.sh 路径:$HOME/ggscript/gginfo 该脚本主要用于每小时检查ggserr.log内包含error关键字的信息(具体可调整) 然后拼接成html格式文件发送给监控网站 该脚本需要配合crontab计划任务使用 logtile.sh  每月月初执行一次,生成文件头 #!/bin/bash cd $HOME if [ -f .profile ];then         . .profile fi if [ -f .bash_profile 

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

文件:pcsinfoupload.sh 路径:$HOME/ggscript/ggupload 功能:用于查询所有进程的部署时填写好的详细配置注释信息,进程状态,生成以HTML格式的文件,并通过上传脚本定时上传至某台目标机器,通过其他脚本整合形成网页 以网页信息浏览所有进程的监控信息 日志路径:$HOME/gglog/ggupload #!/bin/bash cd #HOME if [ -f .profile ];then         . .profile fi if [ -f .bash_p

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

文件名:add.sh 所在路径:$HOME/ggadd 功能:批量加表脚本的优化版,用于针对少量加表需求,包括重复配置表过滤功能以及附加日志自动增加功能 该脚本通过alias方式写入账户系统配置文件.profile 和.bash_profile通过命令使用 日志路径:$HOME/ggscript/ggadd 具体脚本内容 #!/bin/bash if [ $# -eq 0 ]; then         echo "info EXTRACT TABLE AREA user"      

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

文件名:note.sh 路径:$HOME/ggscript/ggnote 功能:该脚本用于注释指定行的配置表,配合重复值检查脚本repeat.sh使用 通过alias初始化入.profile或.bash_profile文件,通过指令note使用 日志路径:$HOME/gglog/ggnote #!/bin/bash if [ $# -eq 0 ]; then         echo "note EXTRACT rowsnum"         exit 2 fi if [ $# -e

OGG运维优化脚本(三)-信息修改类--附加日志增加

文件名: addtrandata.sh 所在路径:$HOME/ggscript/gginsert 功能:用于批量增加表附加日志,属于从加表脚本中独立出来的功能,用于应对表附加日志丢失以及加表附加日志增加失败的情况 #!/bin/bash echo "This script will add trandata( by RenYi)" ls -lrt $HOME/ggserver/dirprm/e*.prm echo "The EXTRACT process:" cd 

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

文件名:recomment.sh 路径: $HOME/ggscript/ggcomment 功能:该脚本用于批量取消注释,配合批量注释脚本使用,基本功能相反,操作步骤完全一致.通过edit脚本选择使用 日志路径:$HOME/gglog/ggcomment #!/bin/bash backuptime=`date +%Y%m%d-%H%M` echo "This script is used to reannotate the specified table!(created by renyi)&