#!/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