定時(shí)導(dǎo)出mysql本地?cái)?shù)據(jù)替換遠(yuǎn)程數(shù)據(jù)庫數(shù)據(jù)腳本分享
更新時(shí)間:2014年03月13日 11:45:57 作者:
這篇文章主要介紹了mysql每天定時(shí)倒出本地?cái)?shù)據(jù),替換遠(yuǎn)程數(shù)據(jù)庫數(shù)據(jù)的腳本,需要的朋友可以參考下
復(fù)制代碼 代碼如下:
需求在每天的5點(diǎn)將192.168.3.5上ser_a庫中的tb_a表導(dǎo)入到192.168.3.6上的ser_b庫中,表名還叫tb_a
服務(wù)端腳本/usr/shell_clubs/auto_sql/server.sh
#!/bin/sh
#code by scpman
/usr/bin/find /usr/shell_clubs/auto_sql/ -name "*.sql" -mtime +3|xargs rm #del old sql
#get new sql
time=`date +%Y%m%d`
mysqldump -uroot -p123456 ser_a tb_a > /usr/shell_clubs/auto_sql/`date +%Y%m%d`_tb_a.sql
sleep 2
ssh -p10022 192.168.3.6 <<EEE
/usr/shell_clubs/auto_sql/client.sh
EEE
說明:服務(wù)端腳本會(huì)導(dǎo)出指定表,并通過公鑰ssh到目標(biāo)機(jī)器上,調(diào)用客戶端腳本
客戶端腳本/usr/shell_clubs/auto_sql/client.sh
#!/bin/sh
#code by scpman
#client.sh
time=`date +%Y%m%d`
/usr/bin/find /usr/shell_clubs/auto_sql/ -name "*.sql" -mtime +3|xargs rm #del old sql
/usr/local/bin/rsync -vzrtopgl --progress root@192.168.3.5::all/usr/shell_clubs/auto_sql/`date +%Y%m%d`_tb_a.sql /usr/shell_clubs/auto_sql/;
counts=`ls -l /usr/shell_clubs/auto_sql/ | grep "$time" | awk '{print $NF}'|wc -l`
echo $counts
if [ "$counts" -eq 1 ]
then
echo sql:$counts
mysql -uroot -ptest123 <<FFF
use ser_b;
drop table tb_a;
FFF
mysql -uroot -ptest123 ser_b < /usr/shell_clubs/auto_sql/`date +%Y%m%d`_tb_a.sql --default-character-set=utf8
echo --------------done
else
echo sql wrong
fi
說明:客戶端腳本被調(diào)用時(shí),會(huì)先刪除當(dāng)前路徑下的舊sql記錄,然后通過rsync將服務(wù)端導(dǎo)出的表,同步過來,并檢查是否同步過來,如果同步成功,則清空現(xiàn)有舊tb_a,將新的tb_a導(dǎo)入進(jìn)庫,如果沒同步成功,則腳本退出(此處可以先發(fā)個(gè)郵件通知再退出)
然后流程通了
現(xiàn)在再加一條定時(shí)在192.168.3.5上(server端)
##send sql to 192.168.3.6
0 5 * * * su - root -c "/usr/shell_clubs/auto_sql/server.sh" >>/usr/shell_clubs/auto_sql/res.log
您可能感興趣的文章:
- 使用Python發(fā)送郵件附件以定時(shí)備份MySQL的教程
- Linux shell實(shí)現(xiàn)每天定時(shí)備份mysql數(shù)據(jù)庫
- CentOS下mysql定時(shí)備份Shell腳本分享
- 實(shí)現(xiàn)MySQL定時(shí)批量檢查表repair和優(yōu)化表optimize table的shell腳本
- MySQL定時(shí)備份之使用Linux下的crontab定時(shí)備份實(shí)例
- 使用mysql事件調(diào)度器定時(shí)刪除binlog
- MySQL定時(shí)器EVENT學(xué)習(xí)筆記
- 使用Linux的Shell腳本定時(shí)處理MySQL超時(shí)
- MySQL定時(shí)執(zhí)行腳本(計(jì)劃任務(wù))命令實(shí)例
- MySQL定時(shí)器開啟、調(diào)用實(shí)現(xiàn)代碼
- 定時(shí)備份mysql, 定時(shí)切割nginx access log的方法
- mysql 讓一個(gè)存儲(chǔ)過程定時(shí)作業(yè)的代碼
- windows下實(shí)現(xiàn)定時(shí)重啟Apache與MySQL方法
- 逐步講解MySQL中定時(shí)事件計(jì)劃的創(chuàng)建
相關(guān)文章
nagios 分發(fā)文件實(shí)現(xiàn)代碼
這篇文章主要介紹了nagios 分發(fā)文件實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-09-09
在shell腳本中激活conda虛擬環(huán)境的方法總結(jié)
在Anaconda中conda可以理解為一個(gè)工具,也是一個(gè)可執(zhí)行命令,其核心功能是包管理與環(huán)境管理,下面這篇文章主要給大家介紹了關(guān)于如何在shell腳本中激活conda虛擬環(huán)境的相關(guān)資料,需要的朋友可以參考下2022-08-08
Linux 編程之進(jìn)程fork()詳解及實(shí)例
這篇文章主要介紹了Linux 編程之進(jìn)程fork()詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-03-03

