mysql dump shell 腳本crontab 計劃任務

master crontab

#!/bin/bash 
#!/usr/bin/expect 
#author yefan

date=`date  +%Y%m%d`

if [ -e /tmp/dump$date.log ]
        then
                mkdir -r /tmp/dump$date.log

fi

echo '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.sql

if [ -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 [email protected]:/tmp/ 
                expect \"[email protected]'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.log
fi




#crontab -e

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

每天2點14 執行


slave 應用dump.sql腳本

#!/bin/bash 
#!/usr/local/mysql/bin/mysql
#author yefan

date=$(date  +%Y%m%d)
if [ -e /tmp/dump$date.log ]
        then
                mkdir  /tmp/dump$date.log

fi

echo "start use dump.sql for slave DB">/tmp/dump$date.log

if [ -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





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章