欢迎光临
我们一直在努力

OGG运维优化脚本(五)-信息修改类--批量注释 - 关系型数据库

文件名:comment.sh

路径:$HOME/ggscript/ggcomment

功能:该脚本基于数据库每月大批量注释源端表进行数据清理,要求数据同步配合注释大量配置表而设计

通过edit脚本选择并调用

日志路径:$HOME/gglog/ggcomment

#!/bin/bash
backuptime=`date +%Y%m%d-%H%M`
echo "This script is used to annotate the specified table!(created by renyi)"
echo $backuptime > ''$HOME'/gglog/ggcomment/InsertLog-'$backuptime'.log'
read -n 1

#输入需要进行批量注释操作的E进程文件名(prm结尾)
ls -lrt $HOME/ggserver/dirprm/e*.prm
read -p "Please enter the prm file name:"  val

#输入你需要注释的表名,不要加TABLE和分号
echo "Please Enter the table you need to annotate"
read -n 1
vi annotmp

echo "---annotate table --------" > ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log'
cat  annotmp  >>  ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log'

#备份prm配置文件
cp $HOME/ggserver/dirprm/$val $HOME/ggserver/dirprm/bak/$val.$backuptime.bak

echo "backup the '$val' to the '$HOME/ggserver/dirprm/bak/$val.$backuptime.bak'"  >> ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log'
#选择操作类型
echo ch
echo "Operating table you want to belong to what state?"
select ch in "parameter" "noparameter" "REPLICAT" "exit"
do
#全部需注释表带有参数
case $ch in
"parameter")
                sed 's/^/TABLE /' annotmp > table1
                        sed 's/$/,/' table1 > table2
break;
;;
#全部需注释表不带有参数
"noparameter")

                sed 's/^/TABLE /' annotmp > table1
                        sed 's/$/;/' table1 > table2
break;
;;


"exit")
    echo "process break"
    exit 2;
;;

*)
 echo "Please select your choice :"1.parameter" "2.noparameter"  "exit""
 ;;
esac
done;
echo $TAL
i=1
num=`sed -n '$=' table2`

#注释操作
while [ "$i" -le "$num" ]
do

        TAL=`sed -n $i'p' table2`
   #     echo $TAL
    #    echo --$TAL
        sed "s/$TAL/--$TAL/g"  $HOME/ggserver/dirprm/$val    > tmp2
        cat  tmp2 > $HOME/ggserver/dirprm/$val
        ((i++));
done


  echo "process complete"  >> ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log'

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。