1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #!/bin/bash for db in $(cat db.lst|grep -v ^ do sdb=$(echo $db|awk -F\| '{print $1}') tdb=$(echo $db|awk -F\| '{print $2}')
date echo "sync $sdb --> $tdb "
echo "drop database if exists \`$tdb\`;"|mysql --defaults-extra-file=target.lst echo "create database \`$tdb\`;"|mysql --defaults-extra-file=target.lst
if grep -q $x ^$sdb ignore-table.lst then for row in $(grep ^$sdb ignore-table.lst) do row1=$(echo row |awk -F\. '{print $2}') row2=$row str1=$str1" "$row1 str2=$str2" --ignore-table "$row2 done echo $str1 $str2 mysqldump --defaults-extra-file=source.lst --opt $sdb --tables $str1 --no-data| mysql --defaults-extra-file=target.lst -C $tdb fi
mysqldump --defaults-extra-file=source.lst --opt $sdb $str2 | mysql --defaults-extra-file=target.lst -C $tdb
done
|