脚本如下:
#!/usr/bin/expect -f
table_list_1="db1.table1,db1.table2"
table_list_2="db2.table1,db2.table2"
tables_1=${table_list_1//,/ }
tables_2=${table_list_2//,/ }
for ele in ${tables_1}
do
info=`mysql -h 10.x.x.x -u root -p*** <<EOF
show create table ${ele};
exit
EOF`
echo "drop table if exists ${ele};" >>/home/table1.sql
echo -e "${info};" >> /home/table1.sql
echo " " >> /home/table1.sql
done
for ele in ${tables_2}
do
info=`mysql -h 10.x.x.x -u root -p*** <<EOF
show create table ${ele};
exit
EOF`
echo "drop table if exists ${ele};" >>/home/table2.sql
echo -e "${info};" >> /home/table2.sql
echo " " >> /home/table2.sql
done
以上脚本可以获取全部内容,但是会有一些冗余的字符串,通过文本编辑器的查找替换功能处理即可。