OGG运维优化脚本(三)-信息修改类--快速加表
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,文件名:add.sh所在路径:$HOME/ggadd功能:批量加表脚本的优化版,用于针对少量加表需求,包括重复配置表过滤功能以及附加日志自动增加功能该脚本通过alias方式写入账户系统配置文件.pro
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
上海运营网络技术服务电话
高中网络安全作文
网络安全教育月活动月总结
雅安敏岗软件开发工作室
网络技术关联单词
完整的软件开发流程10个阶段
如何黑别人的服务器
pdrr网络安全模型结构
数据库 范式化
深圳南山电子软件开发信息公司
济南企业办公软件开发公司
网络安全TCC
sql数据库授权
用房东的网络安全
迈腾车联网无法连接服务器
战术情报软件开发
服务器上报内核报错
网络安全手抄报句子哪一些
数据库逗号啥意思
研究网络安全
云之城服务器
数据库方式 写 EXCEL
教小朋友软件开发
负责网络安全主管人员
马讯科技互联网公司
写给软件开发团队感谢信
数据库服务器书籍推荐
linux查看数据库实例
网络安全验证不了
查找服务器的数据库