编辑代码

#!/bin/bash
DATE=`date +%F`
USER='backup'
PASSWORD="backtest"
SRC="127.0.0.1"
 DEST="192.168.101.14"


BAK_TABLES=(
sale_order  
order_info 
order_sku 
order_erp_sku
)

check() {
    if [ $? -ne 0 ];then
        echo '程序执行错误,中断执行,错误:' $1
        exit 1
    fi
}

transform() {
    echo '-----开始清理目标表 ' $1
    mysql -u$USER -p$PASSWORD -h$DEST -e "truncate tabel logistics.$1"
    check "-----清空表$1失败"
    echo '-----开始同步目标表 ' $1
    time pt-archiver \
 --source h=$SRC,P=3306,u=$USER,p=$PASSWORD,D=log,t=$1,A=utf8 \
 --dest h=$DEST,P=3306,u=$USER,p=$PASSWORD,D=log,t=${1},A=utf8\
 --charset=utf8 \
 --no-delete \
 --progress=100000 \
 --limit=1000 \
 --txn-size=1000 \
 --statistics
    check "-----同步表$1失败"
    echo "同步表$1成功!"
    
}



for i in ${BAK_TABLES[*]}
do
    transform $i
done