OGG运维优化脚本(二)-信息修改类--批量加表
发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,现在开始介绍脚本,所有的脚本必须在prm配置文件添加注释后才能成功使用详细请参考 脚本部署准备实际的运维过程中,我们的OGG程序都统一部署在$home/ggserver路径下,批量加表文件名: ins
千家信息网最后更新 2024年12月01日OGG运维优化脚本(二)-信息修改类--批量加表
现在开始介绍脚本,所有的脚本必须在prm配置文件添加注释后才能成功使用
详细请参考 脚本部署准备
实际的运维过程中,我们的OGG程序都统一部署在$home/ggserver路径下,
批量加表
文件名: insert.sh
脚本所在路径:$HOME/ggscript/gginsert
功能:为满足应用时常提出的大批量增加同步表需求
用于批量加表,包括重复配置表过滤功能以及附加日志自动增加功能
该脚本通过edit脚本选择调用
该脚本目前只能对EXTRACT和发送进程生效
日志路径: $HOME/gglog/gginsert
#!/bin/bashbackuptime=`date +%Y%m%d-%H%M`datenow=`date +%Y%m%d%H` cd $HOME/ggscript/gginsertecho $backuptimeecho "This script will search for the table that has been added and insert new table( by RenYi)"echo $backuptime > ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'ls -lrt $HOME/ggserver/dirprm/e*.prm $HOME/ggserver/dirprm/p*.prm$val#输入需操作的进程对应文件名(prm结尾)read -p "Please enter the prm file name:" valecho "--------insert file name------" >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'echo $val >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'#输入需要批量增加表对应的区域cat $HOME/ggserver/dirprm/$val|grep Beginread -p "Please enter the Area name:" areaecho "--------insert area------" >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'echo $area >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'#在vi界面内粘贴需要增加的表名(无TABLE前缀,无分号结尾,请勿插入空格)echo "Please Enter the table you want to add(Please enter any key)-Do not include spaces!"read -n 1vi AddTempecho "-----insert table------" >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'cat AddTemp >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'#echo $val#echo "awk '/--$area-Begin/,/--$area-End/{if(i>1)print x;x=$1;i++}' $HOME/ggserver/dirprm/$val"#重复表比对过滤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 AddTemp2 |sort -n > AddTablecat AddedTemp2 |sort -n > AddedTablerm -f AddTempcomm -12 AddTable AddedTable > Duplicatenum=`sed -n '$=' Duplicate`echo "Check out the already added table in file "Duplicate",there were '$num' tables has being added"echo "---------The already added table---------" >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'cat Duplicate >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'comm -23 AddTable AddedTable > NeedToAddnum=`sed -n '$=' NeedToAdd`echo "Check out the Not yet add table in file "NeedToAdd",,there are '$num' tables not add"echo "---------The not yet added table---------" >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'cat NeedToAdd >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'#rm -rf AddedTable#rm -rf AddTable#表插入操作echo "Do you want to insert the table into '$val'?"read -p "Please enter y or n:" conif [ "$con" == "y" ] then echo "backup the '$val' to the '$HOME/ggserver/dirprm/bak/$val.$backuptime.bak'" echo "backup the '$val' to the '$HOME/ggserver/dirprm/bak/$val.$backuptime.bak'" >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log' cp $HOME/ggserver/dirprm/$val $HOME/ggserver/dirprm/bak/$val.$backuptime.bak echo "backup complete" echo "backup complete" >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log' echo "modifying table " sed 's/^/TABLE /' NeedToAdd > table1 sed 's/$/;/' table1 > table2 num=`sed -n '$=' table2` rm -f table1 read -p "Please enter your name:" name echo "-----The Operator is '$name'--------" >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log' echo "inserting '$num' tables into '$val' " echo "inserting '$num' tables into '$val' " >> ''$HOME'/ggscript/gginsert/log/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 echo "insert complete" echo "---------insert complete"--------- >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log' else echo "process complete" echo "process complete" >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log'fi#附加日志增加操作echo "Do you want to addtrandata?"read -p "Please enter y or n:" conbif [ "$conb" == "y" ] then sed 's/^/add trandata /' NeedToAdd > addtrandata NUX=`sed -n '$=' addtrandata`# echo $NUX i=1#echo $i cd $HOME/ggserver echo dblogin `more $HOME/ggserver/dirprm/$val|grep USERID` > dirdat/addtrandata#echo $login while [ "$i" -le "$NUX" ] do sed -n "${i}p" $HOME/ggscript/gginsert/addtrandata >> dirdat/addtrandata i=`expr $i + 1` done echo OBEY dirdat/addtrandata |./ggsci else echo "process complete" echo "process complete" >> ''$HOME'/ggscript/gginsert/log/InsertLog-'$backuptime'.log' exit 2fi
脚本
功能
文件
日志
路径
文件名
进程
输入
配置
附加
成功
分号
前缀
区域
大批量
实际
所在
注释
界面
程序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
神通数据库管理员
嘉兴嘉里购互联网科技有限公司
计算机网络技术智能楼宇应用领域
穿越火线服务器维护
杨凌java软件开发
汇然网络技术开发服务范围
品牌网络技术培训十大品牌
吕梁网络技术哪家强
江苏信息化软件开发要多少钱
嵌入式软件开发学习资料
对日外包软件开发实务
计算机网络安全的研究与探讨
尚易邮箱服务器
软件开发的第一人叫什么
计算机数据库备份技术
他国网络技术不发达
湖北领领网络技术有限公司
visio怎么没有数据库
北京工业软件开发靠谱吗
网吧服务器固态硬盘
针对网络安全小学生课间
云桌面 软件开发
软件开发项目算实体吗
服务器磁盘存储
韶关公安网络安全专家
微信无法连到服务器怎么回事
畜牧兽医 外文数据库
怎样知道自己用什么服务器
测绘软件开发的企业有哪些
杭州靠谱零件加工管理软件开发