定時(shí)導(dǎo)出mysql本地?cái)?shù)據(jù)替換遠(yuǎn)程數(shù)據(jù)庫(kù)數(shù)據(jù)腳本分享
更新時(shí)間:2014年03月13日 11:45:57 作者:
這篇文章主要介紹了mysql每天定時(shí)倒出本地?cái)?shù)據(jù),替換遠(yuǎn)程數(shù)據(jù)庫(kù)數(shù)據(jù)的腳本,需要的朋友可以參考下
復(fù)制代碼 代碼如下:
需求在每天的5點(diǎn)將192.168.3.5上ser_a庫(kù)中的tb_a表導(dǎo)入到192.168.3.6上的ser_b庫(kù)中,表名還叫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
說(shuō)明:服務(wù)端腳本會(huì)導(dǎo)出指定表,并通過(guò)公鑰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
說(shuō)明:客戶端腳本被調(diào)用時(shí),會(huì)先刪除當(dāng)前路徑下的舊sql記錄,然后通過(guò)rsync將服務(wù)端導(dǎo)出的表,同步過(guò)來(lái),并檢查是否同步過(guò)來(lái),如果同步成功,則清空現(xiàn)有舊tb_a,將新的tb_a導(dǎo)入進(jìn)庫(kù),如果沒(méi)同步成功,則腳本退出(此處可以先發(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ù)庫(kù)
- 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í)器開(kāi)啟、調(diào)用實(shí)現(xiàn)代碼
- 定時(shí)備份mysql, 定時(shí)切割nginx access log的方法
- mysql 讓一個(gè)存儲(chǔ)過(guò)程定時(shí)作業(yè)的代碼
- windows下實(shí)現(xiàn)定時(shí)重啟Apache與MySQL方法
- 逐步講解MySQL中定時(shí)事件計(jì)劃的創(chuàng)建
相關(guān)文章
Linux實(shí)現(xiàn)徹底清理空文件夾的方法詳解
這篇文章主要介紹了Linux實(shí)現(xiàn)徹底刪除指定路徑下的所有空文件夾。這里的空文件夾的認(rèn)定標(biāo)準(zhǔn)是:如果某個(gè)文件夾的子文件夾全是空文件夾,也認(rèn)為該文件夾是空文件夾,需要的可以參考一下2022-10-10Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼
這篇文章主要介紹了Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼,本文講解使用scp命令實(shí)現(xiàn)名登錄上傳文件,需要的朋友可以參考下2015-04-04詳解linux下利用crontab創(chuàng)建定時(shí)任務(wù)
這篇文章主要介紹了linux下利用crontab創(chuàng)建定時(shí)任務(wù)的相關(guān)資料,需要的朋友可以參考下2017-04-04Shell腳本一鍵安裝Nginx服務(wù)自定義Nginx版本
這篇文章主要為大家介紹了Shell腳本一鍵安裝Nginx服務(wù),用戶可自定義Nginx版本的腳本示例,有需要的朋友可以借鑒參考下,希望能夠參考下2022-03-03shell腳本自動(dòng)化創(chuàng)建虛擬機(jī)的基本配置之tomcat--mysql--jdk--maven
這篇文章主要介紹了shell腳本自動(dòng)化創(chuàng)建虛擬機(jī)的基本配置之tomcat--mysql--jdk--maven的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05shell 腳本之用ab每隔30分鐘并發(fā)一次休息10分鐘
這篇文章給大家分享如何使用shll解決用ab每隔30分鐘并發(fā)一次休息10分鐘,需要的朋友可以參考下2019-11-11