OGG运维优化脚本(三)-信息修改类--快速加表
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,文件名:add.sh所在路径:$HOME/ggadd功能:批量加表脚本的优化版,用于针对少量加表需求,包括重复配置表过滤功能以及附加日志自动增加功能该脚本通过alias方式写入账户系统配置文件.pro
千家信息网最后更新 2026年10月31日OGG运维优化脚本(三)-信息修改类--快速加表
文件名:add.sh
所在路径:$HOME/ggadd
功能:批量加表脚本的优化版,用于针对少量加表需求,包括重复配置表过滤功能以及附加日志自动增加功能
该脚本通过alias方式写入账户系统配置文件.profile 和.bash_profile通过命令使用
日志路径:$HOME/ggscript/ggadd
具体脚本内容
#!/bin/bash#条件判断,确定调用时参数是否完整#格式必须为 进程名 表名 区域名 操作用户if [ $# -eq 0 ]; then echo "info EXTRACT TABLE AREA user" exit 2fiif [ $# -eq 1 ]; then echo "info EXTRACT TABLE AREA user" exit 2fiif [ $# -eq 2 ]; then echo "info EXTRACT TABLE AREA user" exit 2fiif [ $# -eq 3 ]; then echo "info EXTRACT TABLE AREA user" exit 2fibackuptime=`date +%Y%m%d-%H%M`datenow=`date +%Y%m%d%H`echo $backuptime > ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log' cd $HOME/ggscript/ggaddecho $backuptimeecho "This script can only insert one table( by RenYi)"val=$1echo $2 > AddTemparea=$3name=$4#echo $valcat AddTemp#echo $areaecho "--------insert process name------" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'echo $val >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'val=`echo $val|tr a-z A-Z `#进程类型判断,如果为E开头则归类为抽取进程,如果P开头归类为发送进程if [ `echo $val|grep ^E` ];then IType=EXTRACTelif [ `echo $val|grep ^P` ];then IType=POSTelif [ `echo $val|grep ^R` ];then echo "can not operate the REPLICAT process" echo "can not operate the REPLICAT process" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log' echo "process break off" echo "process break off" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log' exit 2else echo "only can operate the EXTRACT and the POST process" echo "can not operate the REPLICAT process" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log' echo "process break off" echo "process break off" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log' exit 2fi#定位进程文件并判断参数输入进程是否存在val=`echo $val.PRM|tr A-Z a-z`echo $valecho "--------insert file name------" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'echo $val >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'cd $HOME/ggserver/dirprmif [ ! -e $val ]; then echo "the EXTRACT is not exist" echo "the EXTRACT is not exist" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log' exit 2fi#定位区域并判断参数输入的区域是否存在cd $HOME/ggscript/ggaddecho $valcat $HOME/ggserver/dirprm/$val |grep Begin|sed 's/--//g'|sed 's/-Begin//g' > arealistcat arealistecho "------------area check-------------- " >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'check=`grep -w $area arealist`if [ "$check" = "$area" ];then echo "area is exist" echo "area is exist" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'else echo "area is not exist" #echo "area is not exist" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log' #exit 2fi#重复表判断,过滤掉已经被配置的表cat $HOME/ggserver/dirprm/$val|awk '/--'$area'-Begin/,/--'$area'-End/{if(i>1)print x;x=$0;i++}' > tempawk -F '--' '($1) { print $1}' temp > temp2rm -rf tempsed -e '/^$/d' temp2 > temp3rm -rf temp2awk -F ',' '{print $1}' temp3 >temp4rm -rf temp3awk -F ';' '{print $1}' temp4 >temp5rm -rf temp4echo "Confirm the tables that have increased"cat temp5|awk -F 'TABLE ' '{print $2}' > AddedTemprm -rf temp5sed '/^$/d' AddedTemp > AddedTemp2sed '/^$/d' AddTemp > AddTemp2cat AddedTemp2 |sort -n > AddTablecomm -12 AddTable AddTemp > Duplicateecho "--------Table Check---------------"cat AddTemp >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'echo "--------Table Check---------------">> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'check=`grep -w $2 Duplicate`if [ "$check" = "$2" ];then echo "The table has being added" echo "The table has being added" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log' echo "process break off" exit 2else echo "The table not be add" echo "The table not be add" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'fi#配置文件备份 cp $HOME/ggserver/dirprm/$val $HOME/ggserver/dirprm/bak/$val.$backuptime.bakecho "backup complete"echo "backup complete" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'#表插入操作 sed 's/^/TABLE /' AddTemp > table1sed 's/$/;/' table1 > table2rm -f table1echo "-----The Operator is '$name'--------" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'sed '1 i\--'$datenow'-'$name'-add' table2 > table3rm -f table2 mv table3 table2 echo "inserting table" sed '/'$area'-Insert/r table2 ' $HOME/ggserver/dirprm/$val > $HOME/ggserver/dirprm/tem3 rm -f $HOME/ggserver/dirprm/$val mv $HOME/ggserver/dirprm/tem3 $HOME/ggserver/dirprm/$val#判断,如果为EXTRACT进程则写入附加日志,如果为发送进程,则跳过if [ "$IType" == "EXTRACT" ];then sed 's/^/add trandata /' AddTemp > addtrandata cd $HOME/ggserver echo dblogin `more $HOME/ggserver/dirprm/$val|grep USERID` > dirdat/addtrandata cat $HOME/ggscript/ggadd/addtrandata >> dirdat/addtrandata echo OBEY dirdat/addtrandata |./ggsci echo "process complete" echo "process complete" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log' exit 2elif [ "$IType" == "POST" ];then echo "process complete" echo "process complete" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log' exit 2else echo "process complete" echo "process complete" >> ''$HOME'/gglog/ggadd/InsertLog-'$backuptime'.log'fi
进程
文件
配置
脚本
功能
参数
日志
区域
开头
路径
定位
归类
输入
附加
内容
命令
域名
备份
所在
文件名
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手冲咖啡和咖啡机区别
科技互联网
湖南永感互联网科技有限公司
互联网科技公司华为
深圳恒合互联网络科技有限公司
互联网科技战争
互联网科技金融
科技互联网公司logo
广西互联网科技公司
火传媒上海互联网科技
撒么互联网科技公司
亿人帮互联网科技
顺网科技2021年互联网排名
西藏七维空间互联网科技有限公司
互联网科技革命什么开始
消费医药和互联网科技
互联网科技和法律行业
阿里互联网科技企业
卓翼科技产业互联网合作
互联网科技的前景
互联网科技有限公司
互联网中国科技
电子科技大学互联网
猫创互联网科技
世界互联网科技公司市值排名
山东星卡互联网科技有限公司官网
科技互联网行业投资研究
三亚科技创新互联网基地
华人运通互联网科技公司
山东亿川互联网科技有限责任公司