OGG运维优化脚本(三)-信息修改类--快速加表
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,文件名:add.sh所在路径:$HOME/ggadd功能:批量加表脚本的优化版,用于针对少量加表需求,包括重复配置表过滤功能以及附加日志自动增加功能该脚本通过alias方式写入账户系统配置文件.pro
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
99服务器
人员管理软件开发过程
职高网络技术2017年高考卷
北京语音网络技术分类工程
奥数网络安全知识
开源sip服务器软件
暗黑三2.61数据库
华为2020年网络安全
抚州高性价比服务器
常州定制软件开发
服务器怎么查看电源功率不足
软件中级数据库系统工程师考试
人口普查和公安局数据库是否一致
圣安地列斯显示服务器没响应
山西激光套料软件开发商
崇明区自动化软件开发服务保障
数据结构 算法 软件开发
gate的服务器在哪里
肖新光中国网络安全产业
荒野行动服务器干什么用的
ftp服务器内文件损坏
晨露共享互联网科技江苏有限公司
最常见的网络安全模型pdrr是指
服务器主板鸡血什么意思
服务器负载均衡如何设置
快吧游戏盒服务器怎么连接
公安机关网络安全检查总结
b75m能上服务器内存条吗
网络安全宣传知识问答
物联网学习软件开发吗