项目的目标:
1)配合开发,将前端应用程序与后端应用程序分离
2)后端置于NAT后,允许内部的***访问(open***与本项目无关,不详写)
3)前端支持同时发布与N个服务器
项目模块:
整套脚本分为以下几个模块:
1)源表与目标表差异检查模块-diffTab.sh
2)源表导出模块-exportData.sh
3)目标表导入模块-importData.sh
4)数据转表模块-swpToTable.sh
5)底层应用程序或图片同步模块-rsyncImg.sh
6)主控模块-man.sh
尚未开发的模块:
1)存储过程自动生成模块-addProcedure.sh(老大不让写,这是我个人想法)
2)主控模块参数自动配置模块(从mysql数据库的表读取参数送到主模块运行)
diffTab.sh模块代码:
#!/bin/bash souHost=$1 souPort=$2 souUser=$3 souPwd=$4 souDBName=$5 souDBTab=$6 desHost=$7 desPort=$8 desUser=$9 desPwd=${10} desDBName=${11} desDBTab=${12} sDif=$souHost.$souDBName.$souDBTab.dif dDif=$desHost.$desDBName.$souDBTab.dif log=/var/log/$0.log if [ $# != 12 ]; then echo "$0 <souHost> <souPort> <souPwd> <souDBNmae> <souDBtab> <desHost> <desPort> <desUser> <desPwd> <desDBName> <desDBTab>" echo "<souName> <desHost> Please enter ip address or domain name,127.0.0.1 192.168.x.x www.example.com" echo "example:$0 '192.168.1.241' '3306' 'root' 'abc@123' 'mysql' 'user1' 'host1' '192.168.1.206' '3306' 'root' 'abc@321' 'mysql' 'user2' 'host2'" exit 1 elif [ ! -n "$souHost" ]; then echo "Source ip address cannot be empty!" exit 1 elif [ ! -n "$souPort" ]; then echo "Source database Port cannot be empty!" exit 1 elif [ ! -n "$souUser" ]; then echo "Source database user name cannot be empty!" exit 1 elif [ ! -n "$souPwd" ]; then echo "Source database password cannot be empty!" exit 1 elif [ ! -n "$souDBName" ]; then echo "Source database name cannot be empty!" exit 1 elif [ ! -n "$souDBTab" ]; then echo "Source database table name cannot be empty!" exit 1 elif [ ! -n "$desHost" ]; then echo "Destination ip address cannot be empty!" exit 1 elif [ ! -n "$desPort" ]; then echo "DataBase Port cannot be empty!" exit 1 elif [ ! -n "$desUser" ]; then echo "Destination database user name cannot be empty!" exit 1 elif [ ! -n "$desPwd" ]; then echo "Destination database password cannot be empty!" exit 1 elif [ ! -n "$desDBName" ]; then echo "Destination database name cannot be empty!" exit 1 elif [ ! -n "$desDBTab" ]; then echo "Destination database table name cannot be empty!" exit 1 fi (echo >/dev/tcp/$souHost/$souPort) &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Unable connect to Host:$souHost:$souPort" >> $log exit 1 fi (echo >/dev/tcp/$desHost/$desPort) &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Unable connect to host:$desHost:$desPort" >> $log exit 1 fi mysql -h$souHost -u$souUser -p$souPwd -e "exit" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Source host:$desHost user name or password error" >> $log exit 1 fi mysql -h$desHost -u$desUser -p$desPwd -e "exit" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Destination host:$souHost user name or password error" >> $log exit 1 fi mysql -h$souHost -u$souUser -p$souPwd -e "use $souDBName" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Source host:$souHost unknown database [$souDBName]" >> $log exit 1 fi mysql -h$desHost -u$desUser -p$desPwd -e "use $desDBName" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Destination host:$desHost unknown database [$desDBName]" >> $log exit 1 fi mysql -h$souHost -u$souUser -p$souPwd -e "desc $souDBName.$souDBTab" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Destination host:$souHost Table [$souDBTab] doesn't exist" >> $log exit 1 else mysql -h$souHost -u$souUser -p$souPwd -e "desc $souDBName.$souDBTab" >$sDif fi mysql -h$desHost -u$desUser -p$desPwd -e "desc $desDBName.$desDBTab" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Destination host:$desHost Table [$desDBTab] doesn't exist" >> $log exit 1 else mysql -h$desHost -u$desUser -p$desPwd -e "desc $desDBName.$desDBTab" > $dDif fi if [ -f $sDif ] && [ -f $dDif ]; then wcR=$(diff $sDif $dDif | grep '^>' | wc -l) wcL=$(diff $sDif $dDif | grep '^<' | wc -l) let wcS=$wcR+$wcL if [ $wcS != 0 ]; then echo "`date` $0 error:$souHost.$souDBName.$souDBTab and $desHost.$desDBName.$souDBTab are inconsistent!" >> $log diff $sDif $dDif >> $log fi echo $wcS fi if [ -f $sDif ]; then rm -rf $sDif fi if [ -f $dDif ]; then rm -rf $dDif fi
exportData.sh模块代码:
#!/bin/bash souHost=$1 dbPort=$2 dbUser=$3 dbPwd=$4 dbName=$5 dbTab=$6 dbFlag=$7 desHost=$8 desDBName=$9 mark=m dbStatus=log_status dbLotNO=lot_NO swpTab=$dbTab"_swp" dt=$(date +"%Y%m%d%H%M%S") extSql=$(echo $souHost | tr -d ".")"."$dbName.$dbTab"."$(echo $desHost | tr -d ".")"."$dt".sql" log=/var/log/$0.log if [ ! $# -ge 8 ]; then echo "$0 <souHost> <DBPort> <DBUser> <DBPwd> <DBName> <DBTab> <DBFlag> <desHost> [desDBName]" echo "<souName> <desHost> Please enter ip address or domain name,127.0.0.1 192.168.x.x www.example.com" echo "<DBColu> Please enter conlumn name, values is i / d / u" echo "example:$0 '127.0.0.1' '3306' 'root' 'abc@123' 'mysql' 'user' 'host' 192.168.1.*" exit 1 elif [ ! -n "$souHost" ]; then echo "Source ip address cannot be empty!" exit 1 elif [ ! -n "$dbPort" ]; then echo "Source database Port cannot be empty!" exit 1 elif [ ! -n "$dbUser" ]; then echo "Source database username cannot be empty!" exit 1 elif [ ! -n "$dbPwd" ]; then echo "Source database password cannot be empty!" exit 1 elif [ ! -n "$dbName" ]; then echo "Source database name cannot be empty!" exit 1 elif [ ! -n "$dbTab" ]; then echo "Source database table name cannot be empty!" exit 1 elif [ ! -n "$dbStatus" ]; then echo "Source database column cannot be empty!" exit 1 elif [ ! -n "$desHost" ]; then echo "Detination ip address cannot be empty!" exit 1 elif [ "$desDBName" != "" ]; then extSql=$(echo $souHost | tr -d ".")"."$desDBName.$dbTab"."$(echo $desHost | tr -d ".")"."$dt".sql" fi (echo >/dev/tcp/$souHost/$dbPort) &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Unable connect to Host:$souHost:$dbPort" >> $log exit 1 fi mysql -h$souHost -u$dbUser -p$dbPwd -e "exit" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 User name or password error" >> $log exit 1 fi mysql -h$souHost -u$dbUser -p$dbPwd -e "use $dbName" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Unknown database [$dbName]" >> $log exit 1 fi mysql -h$souHost -u$dbUser -p$dbPwd -e "desc $dbName.$swpTab" &> /dev/null if [ ! $? = 0 ]; then mysql -h$souHost -u$dbUser -p$dbPwd -e "create table $dbName.$swpTab (select * from $dbName.$dbTab where 1=2)" fi mysql -h$souHost -u$dbUser -p$dbPwd -e "select $dbFlag from $dbName.$swpTab where 1=2" &> /dev/null if [ ! $? = 0 ]; then mysql -h$souHost -u$dbUser -p$dbPwd -e "alter table $dbName.$swpTab add $dbFlag varchar(255)" fi mysql -h$souHost -u$dbUser -p$dbPwd -e "select $dbStatus from $dbName.$swpTab where 1=2" &> /dev/null if [ ! $? = 0 ]; then mysql -h$souHost -u$dbUser -p$dbPwd -e "alter table $dbName.$swpTab add $dbStatus varchar(255)" fi mysql -h$souHost -u$dbUser -p$dbPwd -e "select $dbLotNO from $dbName.$swpTab where 1=2" &> /dev/null if [ ! $? = 0 ]; then mysql -h$souHost -u$dbUser -p$dbPwd -e "alter table $dbName.$swpTab add $dbLotNO varchar(255)" fi count=0 rt=$(mysql -h$souHost -u$dbUser -p$dbPwd -e "select count(*) from $dbName.$swpTab" 2> /dev/null) if [ $? = 0 ]; then count=$(echo $rt | cut -d" " -f2) else echo "`date` $0 error:select count(*) from $dbName.$swpTab" >> $log exit 1 fi if [ $count = 0 ]; then echo "count = $count" exit 0 fi if [ $? = 0 ]; then mysql -h$souHost -u$dbUser -p$dbPwd -e "update $dbName.$swpTab set $dbStatus = 'm',$dbLotNO = $dt" else echo "`date` $0 error:alter table $dbName.$swpTab add $dbStatus" >> $log exit 1 fi if [ $? = 0 ]; then mysqldump -h$souHost -u$dbUser -p$dbPwd -w "$dbStatus = 'm'" -t $dbName $swpTab > $extSql else echo "`date` $0 error:update $dbName.$swpTab set $dbStatus = 'm'" >> $log exit 1 fi if [ $? = 0 ]; then mysql -h$souHost -u$dbUser -p$dbPwd -e "delete from $dbName.$swpTab where $dbStatus = 'm'" else rm -rf $extSql echo "`date` $0 error:mysqldump -h$souHost -u$dbUser -p$dbPwd -w $dbStatus = 'm'" >> $log exit 1 fi if [ $? = 0 ]; then exit 0 else echo "`date` $0 error:delete from $dbName.$swpTab where $dbStatus = 'm'" >> $log exit 1 fi
importData.sh模块代码:
#!/bin/bash desHost=$1 dbPort=$2 dbUser=$3 dbPwd=$4 dbName=$5 dbTab=$6 dbFlag=$7 souHost=$8 mark=m dbStatus=log_status dbLotNO=lot_NO swpTab=$dbTab"_swp" dt=$(date +"%Y%m%d%H%M%S") extSql=$(echo $souHost | tr -d ".")"."$dbName.$dbTab"."$(echo $desHost | tr -d ".")".*.sql" log=/var/log/$0.log if [ $# != 8 ]; then echo "$0 <desHost> <DBPort> <DBUser> <DBPwd> <DBName> <DBTab> <DBFlag> <souHost>" echo "<souName> <desHost> Please enter ip address or domain name,127.0.0.1 192.168.x.x www.example.com" echo "<DBFlag> Please enter conlumn name, values is i / d / u" echo "example:$0 '192.168.1.*' '3306' 'root' 'abc@123' 'mysql' 'user' 'host' '127.0.0.1'" exit 1 elif [ ! -n "$desHost" ]; then echo "Detination ip address cannot be empty!" exit 1 elif [ ! -n "$dbPort" ]; then echo "DataBase Port cannot be empty!" exit 1 elif [ ! -n "$dbUser" ]; then echo "DataBaseUserName cannot be empty!" exit 1 elif [ ! -n "$dbPwd" ]; then echo "DataBasePassword cannot be empty!" exit 1 elif [ ! -n "$dbName" ]; then echo "DataBaseName cannot be empty!" exit 1 elif [ ! -n "$dbTab" ]; then echo "DataBaseTableName cannot be empty!" exit 1 elif [ ! -n "$dbStatus" ]; then echo "DataBaseColumn cannot be empty!" exit 1 elif [ ! -n "$souHost" ]; then echo "Source ip address cannot be empty!" exit 1 fi (echo >/dev/tcp/$desHost/$dbPort) &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Unable connect to Host:$desHost:$dbPort" >> $log exit 1 fi mysql -h$desHost -u$dbUser -p$dbPwd -e "exit" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 User name or password error" >> $log exit 1 fi mysql -h$desHost -u$dbUser -p$dbPwd -e "use $dbName" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Unknown database [$dbName]" >> $log exit 1 fi mysql -h$desHost -u$dbUser -p$dbPwd -e "desc $dbName.$dbTab" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Table [$dbTab] doesn't exist" >> $log exit 1 fi mysql -h$desHost -u$dbUser -p$dbPwd -e "desc $dbName.$swpTab" &> /dev/null if [ ! $? = 0 ]; then mysql -h$desHost -u$dbUser -p$dbPwd -e "create table $dbName.$swpTab (select * from $dbName.$dbTab where 1=2)" fi mysql -h$desHost -u$dbUser -p$dbPwd -e "select $dbFlag from $dbName.$swpTab where 1=2" &> /dev/null if [ ! $? = 0 ]; then mysql -h$desHost -u$dbUser -p$dbPwd -e "alter table $dbName.$swpTab add $dbFlag varchar(255)" fi mysql -h$desHost -u$dbUser -p$dbPwd -e "select $dbStatus from $dbName.$swpTab where 1=2" &> /dev/null if [ ! $? = 0 ]; then mysql -h$desHost -u$dbUser -p$dbPwd -e "alter table $dbName.$swpTab add $dbStatus varchar(255)" fi mysql -h$desHost -u$dbUser -p$dbPwd -e "select $dbLotNO from $dbName.$swpTab where 1=2" &> /dev/null if [ ! $? = 0 ]; then mysql -h$desHost -u$dbUser -p$dbPwd -e "alter table $dbName.$swpTab add $dbLotNO varchar(255)" fi ls $extSql &> /dev/null if [ ! $? = 0 ]; then echo "No such $extSql file!" exit 0 fi for i in $(ls $extSql | sort) do mysql -h$desHost -u$dbUser -p$dbPwd $dbName < $i if [ $? = 0 ]; then mv -f $i $(echo $i | awk -F '.' '{print $1"."$2"."$3"."$4"."$5".swp"}') else echo "`date` $0 error:import [$i] error" >> $log fi done if [ $? = 0 ]; then exit 0 else echo "`date` $0 error:import tables error" >> $log exit 1 fi
swpToTable.sh模块代码:
#!/bin/bash desHost=$1 dbPort=$2 dbUser=$3 dbPwd=$4 dbName=$5 dbTab=$6 dbFlag=$7 souHost=$8 mark=m dbStatus=log_status dbLotNO=lot_NO swpTab=$dbTab"_swp" dt=$(date +"%Y%m%d%H%M%S") extSql=$(echo $souHost | tr -d ".")"."$dbName.$dbTab"."$(echo $desHost | tr -d ".")".*.swp" log=/var/log/$0.log if [ $# != 8 ]; then echo "$0 <desHost> <DBPort> <DBUser> <DBPwd> <DBName> <DBTab> <DBFlag> <souHost>" echo "<souName> <desHost> Please enter ip address or domain name,127.0.0.1 192.168.x.x www.example.com" echo "<DBFlag> Please enter conlumn name, values is i / d / u" echo "example:$0 '192.168.1.*' '3306' 'root' 'abc@123' 'mysql' 'user' 'host' '127.0.0.1'" exit 1 elif [ ! -n "$desHost" ]; then echo "Detination ip address cannot be empty!" exit 1 elif [ ! -n "$dbPort" ]; then echo "DataBase Port cannot be empty!" exit 1 elif [ ! -n "$dbUser" ]; then echo "DataBaseUserName cannot be empty!" exit 1 elif [ ! -n "$dbPwd" ]; then echo "DataBasePassword cannot be empty!" exit 1 elif [ ! -n "$dbName" ]; then echo "DataBaseName cannot be empty!" exit 1 elif [ ! -n "$dbTab" ]; then echo "DataBaseTableName cannot be empty!" exit 1 elif [ ! -n "$dbStatus" ]; then echo "DataBaseColumn cannot be empty!" exit 1 elif [ ! -n "$souHost" ]; then echo "Source ip address cannot be empty!" exit 1 fi (echo >/dev/tcp/$desHost/$dbPort) &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Unable connect to Host:$desHost:$dbPort" >> $log exit 1 fi mysql -h$desHost -u$dbUser -p$dbPwd -e "exit" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 User name or password error" >> $log exit 1 fi mysql -h$desHost -u$dbUser -p$dbPwd -e "use $dbName" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Unknown database [$dbName]" >> $log exit 1 fi mysql -h$desHost -u$dbUser -p$dbPwd -e "desc $dbName.$dbTab" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Table [$dbTab] doesn't exist" >> $log exit 1 fi mysql -h$desHost -u$dbUser -p$dbPwd -e "desc $dbName.$swpTab" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Table [$swpTab] doesn't exist" >> $log exit 1 fi mysql -h$desHost -u$dbUser -p$dbPwd -e "select $dbFlag from $dbName.$swpTab where 1=2" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Table [$swpTab] conlumn [$dbFlag] doesn't exist" >> $log exit 1 fi mysql -h$desHost -u$dbUser -p$dbPwd -e "select $dbStatus from $dbName.$swpTab where 1=2" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Table [$swpTab] conlumn [$dbStatus] doesn't exist" >> $log exit 1 fi mysql -h$desHost -u$dbUser -p$dbPwd -e "select $dbLotNO from $dbName.$swpTab where 1=2" &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 Table [$swpTab] conlumn [$dbLotNO] doesn't exist" >> $log exit 1 fi ls $extSql &> /dev/null if [ ! $? = 0 ]; then echo "No such $extSql file!" exit 0 fi count=0 rt=0 for i in $(ls $extSql | sort) do fLotNO=$(echo $i | awk -F '.' '{print $5}') rn=$(echo $i | awk -F '.' '{print $1"."$2"."$3"."$4"."$5".log"}') rt=$(mysql -h$desHost -u$dbUser -p$dbPwd -e "select count(*) from $dbName.$swpTab where $dbLotNO = $fLotNO and ($dbFlag = 'i' or $dbFlag = 'd' or $dbFlag = 'u')") 2> /dev/null count=0 count=$(echo $rt | cut -d" " -f2) if [ $count != 0 ]; then mysql -h$desHost -u$dbUser -p$dbPwd -e "call $dbName.to_$dbTab($(echo $i | awk -F '.' '{print $5}'))" &> /dev/null fi count=1 rt=$(mysql -h$desHost -u$dbUser -p$dbPwd -e "select count(*) from $dbName.$swpTab where $dbLotNO = $fLotNO and ($dbFlag = 'i' or $dbFlag = 'd' or $dbFlag = 'u')") 2> /dev/null count=$(echo $rt | cut -d" " -f2) if [ ! -d log ]; then mkdir log fi if [ $count = 0 ]; then mv $i log/$rn fi done if [ $? = 0 ]; then exit 0 else echo "`date` $0 error:swp to tables error" >> $log exit 1 fi
rsyncImg.sh模块代码:
#!/bin/bash souHost=$1 souPort=$2 souUser=$3 souPwd=$4 souRoot=$5 souDir=$6 desHost=$7 desPort=$8 desUser=$9 desPwd=${10} desRoot=${11} desDir=${12} sf=/tmp/auto_rsync.sh log=/var/log/$0.log if [ $# != 12 ]; then echo "$0 <souHost> <souPort> <souUser> <souPwd> <souRoot> <souDir> <desHost> <desPort> <desUser> <desPwd> <desRoot> <desDir>" echo "<souName> <desHost> Please enter ip address or domain name,127.0.0.1 192.168.x.x www.example.com" echo "example:$0 '192.168.1.241' '22' 'root' 'abc@123' '/var/ftp/' 'img/' '192.168.1.206' '22' 'root' 'abc@321' '/var/ftp/' 'img/'" exit 1 elif [ ! -n "$souHost" ]; then echo "Source ip address cannot be empty!" exit 1 elif [ ! -n "$souPort" ]; then echo "Source database Port cannot be empty!" exit 1 elif [ ! -n "$souUser" ]; then echo "Source database user name cannot be empty!" exit 1 elif [ ! -n "$souPwd" ]; then echo "Source database password cannot be empty!" exit 1 elif [ ! -n "$souRoot" ]; then echo "Source dir root cannot be empty!" exit 1 elif [ ! -n "$souDir" ]; then echo "Source dir cannot be empty!" exit 1 elif [ ! -n "$desHost" ]; then echo "Destination ip address cannot be empty!" exit 1 elif [ ! -n "$desPort" ]; then echo "DataBase Port cannot be empty!" exit 1 elif [ ! -n "$desUser" ]; then echo "Destination database user name cannot be empty!" exit 1 elif [ ! -n "$desPwd" ]; then echo "Destination database password cannot be empty!" exit 1 elif [ ! -n "$desRoot" ]; then echo "Destination dir root cannot be empty!" exit 1 elif [ ! -n "$desDir" ]; then echo "Destination dir name cannot be empty!" exit 1 fi if [ $souHost$souRoot$souDir = $desHost$desRoot$desDir ]; then echo "`date` $0 error:Source address and destination address cannot be the same!" >> $log exit 1 fi (echo >/dev/tcp/$souHost/$souPort) &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 error:Unable connect to Host:$souHost:$souPort" >> $log exit 1 fi (echo >/dev/tcp/$desHost/$desPort) &> /dev/null if [ ! $? = 0 ]; then echo "`date` $0 error:Unable connect to host:$desHost:$desPort" >> $log exit 1 fi if [ ! -f /usr/bin/expect ]; then yum -y install expect.x86_64 fi if [ ! -f /usr/bin/expect ]; then echo "`date` $0 error:Unable installl expect.x86_64" >> $log exit 1 fi auto_scp () { expect -c "set timeout -1; spawn scp -r -P $2 $3 $4; expect { *assword:* {send -- $1\r; expect { *denied* {exit 2;} eof } } eof {exit 1;} } " return $? } auto_ssh () { expect -c "set timeout -1; spawn ssh -p $2 -o StrictHostKeyChecking=no $3 ${@:4}; expect { *assword:* {send -- $1\r; expect { *denied* {exit 2;} eof } } eof {exit 1;} } " return $? } (cat <<eof if [ ! -f /usr/bin/expect ]; then yum -y install expect.x86_64 fi auto_rsync () { expect -c "set timeout -1; spawn rsync -av --delete --port \$2 \$3 \$4; expect { *assword:* {send -- \$1\r; expect { *denied* {exit 2;} eof } } eof {exit 1;} } " return \$? } if [ -d $souRoot$souDir ]; then auto_rsync '$desPwd' $desPort $souRoot$souDir $desUser@$desHost:$desRoot$souDir fi exit eof ) > $sf if [ -f $sf ]; then auto_scp $souPwd $souPort $sf $souUser@$souHost:$sf fi rt=0 if [ $? = 0 ]; then auto_ssh $souPwd $souPort $souUser@$souHost "bash $sf && rm $sf" rt=$? fi if [ -f $sf ]; then rm -rf $sf fi echo $rt
man.sh主控模块:
#!/bin/bash cd /root/script ./rsyncImg.sh '127.0.0.1' '22' 'user' 'abc123' '/var/ftp/' 'img/' '43.255.0.1' '22' 'user' 'abc123' '/var/ftp/' 'img/' ./rsyncImg.sh '127.0.0.1' '22' 'user' 'abc123' '/home/' 'mysqluser_ihouse/' '43.255.0.1' '22' 'user' 'abc123' '/home/' 'mysqluser_ihouse/' rt=1 rt=$(./diffTab.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_mysqluser_houserent' '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_mysqluser_houserent') if [ $rt = 0 ]; then ./exportData.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_mysqluser_houserent' 'log_flag' '43.255.0.1' 'zj_mysqluser_ihouse' ./importData.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_mysqluser_houserent' 'log_flag' '127.0.0.1' ./swpToTable.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_mysqluser_houserent' 'log_flag' '127.0.0.1' fi rt=1 rt=$(./diffTab.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_mysqluser_housesell' '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_mysqluser_housesell') if [ $rt = 0 ]; then ./exportData.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_mysqluser_housesell' 'log_flag' '43.255.0.1' 'zj_mysqluser_ihouse' ./importData.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_mysqluser_housesell' 'log_flag' '127.0.0.1' ./swpToTable.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_mysqluser_housesell' 'log_flag' '127.0.0.1' fi #<-------------------------------- rt=1 rt=$(./diffTab.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_house_wanted' '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_house_wanted') if [ $rt = 0 ]; then ./exportData.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_house_wanted' 'log_flag' '127.0.0.1' 'zj_ihouse' ./importData.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_house_wanted' 'log_flag' '43.255.0.1' ./swpToTable.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_house_wanted' 'log_flag' '43.255.0.1' fi rt=1 rt=$(./diffTab.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_broker_info' '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_broker_info') if [ $rt = 0 ]; then ./exportData.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_broker_info' 'log_flag' '43.255.0.1' 'zj_mysqluser_ihouse' ./importData.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_broker_info' 'log_flag' '127.0.0.1' ./swpToTable.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_broker_info' 'log_flag' '127.0.0.1' fi rt=1 rt=$(./diffTab.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'sys_area' '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'sys_area') if [ $rt = 0 ]; then ./exportData.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'sys_area' 'log_flag' '43.255.0.1' 'zj_mysqluser_ihouse' ./importData.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'sys_area' 'log_flag' '127.0.0.1' ./swpToTable.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'sys_area' 'log_flag' '127.0.0.1' fi rt=1 rt=$(./diffTab.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_advert' '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_advert') if [ $rt = 0 ]; then ./exportData.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_advert' 'log_flag' '43.255.0.1' 'zj_mysqluser_ihouse' ./importData.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_advert' 'log_flag' '127.0.0.1' ./swpToTable.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_advert' 'log_flag' '127.0.0.1' fi rt=1 rt=$(./diffTab.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_about' '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_about') if [ $rt = 0 ]; then ./exportData.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_about' 'log_flag' '43.255.0.1' 'zj_mysqluser_ihouse' ./importData.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_about' 'log_flag' '127.0.0.1' ./swpToTable.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_about' 'log_flag' '127.0.0.1' fi rt=1 rt=$(./diffTab.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_borough' '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_borough') if [ $rt = 0 ]; then ./exportData.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_borough' 'log_flag' '43.255.0.1' 'zj_mysqluser_ihouse' ./importData.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_borough' 'log_flag' '127.0.0.1' ./swpToTable.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_borough' 'log_flag' '127.0.0.1' fi rt=1 rt=$(./diffTab.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_houserent_pic' '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_houserent_pic') if [ $rt = 0 ]; then ./exportData.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_houserent_pic' 'log_flag' '43.255.0.1' 'zj_mysqluser_ihouse' ./importData.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_houserent_pic' 'log_flag' '127.0.0.1' ./swpToTable.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_houserent_pic' 'log_flag' '127.0.0.1' fi rt=1 rt=$(./diffTab.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_housesell_pic' '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_housesell_pic') if [ $rt = 0 ]; then ./exportData.sh '127.0.0.1' '3306' 'mysqluser' abc123' 'zj_ihouse' 'zj_housesell_pic' 'log_flag' '43.255.0.1' 'zj_mysqluser_ihouse' ./importData.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_housesell_pic' 'log_flag' '127.0.0.1' ./swpToTable.sh '43.255.0.1' '3306' 'mysqluser' abc123' 'zj_mysqluser_ihouse' 'zj_housesell_pic' 'log_flag' '127.0.0.1' fi
转载于:https://blog.51cto.com/cmdschool/1695840