mysql dump shell 脚本crontab 计划任务

来源:互联网 发布:靠谱韩代淘宝 豆瓣 编辑:程序博客网 时间:2024/05/20 02:28

master crontab

#!/bin/bash #!/usr/bin/expect #author yefandate=`date  +%Y%m%d`if [ -e /tmp/dump$date.log ]        then                mkdir -r /tmp/dump$date.logfiecho 'Start dump Master DB...'echo 'Start dump Master DB...' > /tmp/dump$date.log#echo $date#auto  dump all database data to dumpdate.sql/usr/local/mysql/mysqldump  -uroot -proot --opt -R test  > /tmp/dump$date.sqlif [ -e /tmp/dump$date.sql  ]        then                echo 'dump DB success and file name is dump$date.sql'                echo 'dump DB success and file name is dump$date.sql' >>/tmp/dump$date.log                echo 'start rsync sql dump$date.sql to slave'                echo 'start rsync sql dump$date.sql to slave'>>/tmp/dump$date.log                expect -c "                spawn scp -oStrictHostKeyChecking=no   /tmp/dump$date.sql root@192.168.213.138:/tmp/                 expect \"root@192.168.213.138's password:\"                send \"root\r\"                expect eof  "                echo 'trans file to slave success !'                echo 'trans file to slave success !'>>/tmp/dump$date.log        else                echo 'dump is error  and no generate sql file!'                echo 'dump is error  and no generate sql file!'>/tmp/dump$date.logfi




#crontab -e

14 02 * * *  sh /tmp/dumpMaster2Slave.sh 

每天2点14 执行


slave 应用dump.sql脚本

#!/bin/bash #!/usr/local/mysql/bin/mysql#author yefandate=$(date  +%Y%m%d)if [ -e /tmp/dump$date.log ]        then                mkdir  /tmp/dump$date.logfiecho "start use dump.sql for slave DB">/tmp/dump$date.logif [ -e /tmp/dump$date.sql  ]        then                         <pre name="code" class="plain"><span style="white-space:pre"></span>/usr/local/mysql/<span style="font-family: Arial, Helvetica, sans-serif;">mysql -uroot -proot test </tmp/dump$date.sql</span>
/usr/local/mysql/mysql -uroot -proot -e 'start slave;' rm -rf /tmp/dump$date.sql echo 'delete dump.sql file !!' echo 'delete dump.sql file !!'>>/tmp/dump$date.log else echo 'dump$date.sql is not exist !!' echo 'dump$date.sql is not exist !!'>>/tmp/dump$date.log fiecho "finish use dump.sql for slave DB">>/tmp/dump$date.log


slave crontab 

#crontab -e
*/1 * * * * sh /tmp/useDump.sh





0 0