千家信息网

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能上服务器内存条吗 网络安全宣传知识问答 物联网学习软件开发吗
0