OGG运维优化脚本-查询维护类--进程重复表检查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OGG运维优化脚本-查询维护类--进程重复表检查相关的知识,希望对你有一定的参考价值。

路径:$HOME/ggscript/ggrepeat

功能:该脚本为处理目标端因为源端重复配置源端表,导致目标端数据重复的问题而设计。可以针对进程检查重复配置的表名,并罗列具体信息和所在文件行数

可以配合note快速注释脚本进行源端重复表清理操作

#!/bin/bash
echo "+--------------------------------------------------------+"
echo "|This script will search for the repeat table ( by RenYi)|"
echo "+--------------------------------------------------------+"
if [ $# -eq 0 ]; then
        echo "REPEAT EXTRACT"
        exit 2
fi

backuptime=`date +%Y%m%d-%H%M`
datenow=`date +%Y%m%d%H`

val=$1
val=`echo $val|tr a-z A-Z`
echo "-------------------------"
echo "The process name is $val"
echo "-------------------------"
val=`echo $val.PRM|tr A-Z a-z`
cd $HOME/ggserver/dirprm
if [ ! -e $val ]; then
        echo "the EXTRACT is not exist"
        exit 2
fi

cd $HOME/ggscript/ggrepeat
cat $HOME/ggserver/dirprm/$val|awk ‘/TABLE#/,/#TABLE/{if(i>1)print x;x=$0;i++}‘ > temp
awk -F ‘--‘  ‘($1) { print $1}‘ temp > temp2
rm -rf temp
sed  -e ‘/^$/d‘  temp2 > temp3
rm -rf temp2
awk -F ‘,‘ ‘{print $1}‘ temp3 >temp4
rm -rf temp3
awk -F ‘;‘ ‘{print $1}‘ temp4 >temp5
rm -rf temp4
cat temp5|awk  -F ‘TABLE ‘  ‘{print $2}‘ > Temp
rm -rf temp5

sort Temp |uniq -d > $HOME/ggscript/ggrepeat/tmp
echo "-------------------------"
echo "The repeat table:"
echo "-------------------------"

cat tmp

i=1

num=`sed -n ‘$=‘ tmp`

echo "num = $num"
echo "-------------------------"
echo "The Detailed results:"
echo "-------------------------"
while [ ! -n "$num" ]
do
	echo "no result"
	exit 2
done

while [ "$i" -le "$num" ]
do
        TAL=`sed -n $i‘p‘ tmp`
        echo $TAL
	grep -ni $TAL $HOME/ggserver/dirprm/$val
	((i++));
done
echo "-------------------------"


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

以上是关于OGG运维优化脚本-查询维护类--进程重复表检查的主要内容,如果未能解决你的问题,请参考以下文章

OGG运维优化脚本-查询维护类--批量查询

OGG运维优化脚本-查询维护类--操作选择

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

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

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

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