• mysql数据库初始化脚本分组批量执行


      1 #!/bin/bash
      2 
      3 :<<!
      4 例如:./imp.sh  01-Db_init gp01
      5 
      6 !
      7 
      8 if [ ! $2  ];then
      9 
     10    echo -e "
    请输入初始化数据库分组:如:./imp.sh  01-Db_init gp01 
    "
     11    exit 0
     12 
     13 fi
     14 
     15 case $2 in   #设置初始化数据库分组信息。
     16 
     17   gp01)
     18       gp=(nc_config nc_job nc_notifier)
     19       mhost="10.1.*.*"
     20       mport="3366"
     21       muser="root"
     22       mpasswd="123456"
     23   ;;
     24 
     25   gp02)
     26       gp=(nc_resource rc_report)
     27       mhost="10.1.*.*"
     28       mport="3366"
     29       muser="root"
     30       mpasswd="123456"
     31   ;;
     32 
     33   gp03)
     34       gp=(rc_tncm rc_opsf rc_llsf_province)
     35       mhost="10.1.*.*"
     36       mport="3366"
     37       muser="root"
     38       mpasswd="123456"
     39   ;;
     40 
     41   gp04)
     42       gp=(hlsf_flow wmsf_flow)
     43       mhost="10.1.*.*"
     44       mport="3366"
     45       muser="root"
     46       mpasswd="123456"
     47   ;;
     48 
     49   gp00)
     50       gp=(rc_llsf_province)
     51       mhost="10.1.*.*"
     52       mport="3366"
     53       muser="root"
     54       mpasswd="123456"
     55   ;;
     56 
     57   *)
     58       echo -e "
    $0 $@ ,请确认输入正确的数据库初始化分组名!
    "
     59 esac
     60 
     61 #gp=(nc_resource idp)
     62 
     63 echo -e "
    
    |>初始化数据库列表-$2:${gp[*]}
    |>目标地址:$mhost:$mport
    |>执行时间:$(date "+%Y-%m-%d %H:%M:%S")
    " 2>&1 | tee -a gimp_log_$(date "+%Y-%m-%d").log
     64 
     65 bdir=`pwd`
     66 
     67 for i in ${gp[*]}
     68 
     69 do
     70 
     71   echo -e "
    :>初始化数据库:[$i]
    "
     72 
     73   for fdir in `ls $bdir/$1`  #遍历脚本目录。
     74   
     75   do
     76 
     77     for cdir in `ls $bdir/$1/$fdir`
     78 
     79     do
     80       
     81       #echo ${cdir#*-}
     82       if [ $i == ${cdir#*-} ] &&  ls $bdir/$1/$fdir/$cdir/*.sql >/dev/null 2>&1; #判断是否是分组目标库的脚本,并该目录下有可执行的sql文件。
     83 
     84       then
     85         
     86         for sql in `ls $bdir/$1/$fdir/$cdir/*.sql`  #遍历目标路径下的sql文件并按照顺序执行。
     87         
     88         do
     89           echo  -e "
    =>执行sql:$sql"
     90           `mysql -h$mhost -P$mport -u$muser -p$mpasswd  -e "source $sql ;"`
     91 
     92         #echo `ls $bdir/$1/$fdir/$cdir`
     93 
     94         done
     95       fi
     96 
     97     done
     98 
     99   done
    100 
    101 done 2>&1 | tee -a gimp_log_$(date "+%Y-%m-%d").log
  • 相关阅读:
    Android实现简单的检测手机自由落体关闭屏幕
    Android Disable Package/Component 跳过app安装
    求单向链表中倒数第k个节点(c++):快慢指针/递归
    算法学习笔记---链表与数组
    pycharm使用matplotlib绘图学习笔记
    pycharm使用matplotlib绘制图像报错
    python numpy学习笔记
    python刷leetcode算法-- 左旋转字符串
    机器学习算法扫盲篇
    Kaggle入门篇
  • 原文地址:https://www.cnblogs.com/cooper-73/p/15020324.html
Copyright © 2020-2023  润新知