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'


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章