实现功能: 在A服务器上每天备份指定数据库,将dump出来的sql文件传输到另一台服务器B,在此服务器上,将sql文件重新导入,并压缩。 A服务器上的脚本: #!/bin/bash export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin cd /data/db_backup # db backup mysqldump -u'Username' -p'Password' db1 > db1_`date +%Y-%m-%d`.sql mysqldump -u'Username' -p'Password' db2 > db2_`date +%Y-%m-%d`.sql mysqldump -u'Username' -p'Password' db3 > db3_`date +%Y-%m-%d`.sql scp db1_`date +%Y-%m-%d`.sql db2_`date +%Y-%m-%d`.sql db3_`date +%Y-%m-%d`.sql username@ip_address:/db_in/sql ssh username@ip_address "/db_in/in.sh" > /tmp/in 2>&1 & B服务器上的脚本: #!/bin/bash /usr/bin/mysql -u'Username' -p'Password' -e "create database db1_`date +%Y-%m-%d`" /usr/bin/mysql -u'Username' -p'Password' -e "create database db2_`date +%Y-%m-%d`" /usr/bin/mysql -u'Username' -p'Password' -e "create database db3_`date +%Y-%m-%d`" /usr/bin/mysql -u'Username' -p'Password' db1_`date +%Y-%m-%d` < /db_in/sql/db1_`date +%Y-%m-%d`.sql /usr/bin/mysql -u'Username' -p'Password' db2_`date +%Y-%m-%d` < /db_in/sql/db2_`date +%Y-%m-%d`.sql /usr/bin/mysql -u'Username' -p'Password' db3_`date +%Y-%m-%d` < /db_in/sql/db3_`date +%Y-%m-%d`.sql find /path/mysql/var/db*_`date +%Y-%m-%d` -name *MYI -exec /path/mysql/bin/myisampack {} /; >> /tmp/pack.log 2>&1 find /path/mysql/var/db*_`date +%Y-%m-%d` -name *MYI -exec /path/mysql/bin/myisamchk -rq --sort-index --analyze {} /; >> /tmp/pack.log 2>&1 /path/mysql/bin/mysqladmin -u'Username' -p'Password' flush-tables >> /tmp/pack.log 2>&1 rm -rf /db_in/sql/*