xx.xx..4.43----xx.xx..4.51
1、配置client通過密鑰來連接server
43機器上:
/root/.ssh 目錄下執行
ssh-keygen -t rsa
ls??/root/.ssh會發現在/root/.ssh下生成一對密鑰id_dsa和id_dsa.pub,將生成的公鑰id_dsa.pub拷貝到server的/root/.ssh目錄下:
scp??-P 10022 /root/.ssh/id_dsa.pub??xx.xx..4.51:~/.ssh/ id_dsa.pub
51上:
cat id_rsa.pub >>authorized_keys
在43上ssh 登錄51 免密登錄---ok
?
2、編寫備份數據的腳本
可以通過編寫shell腳本,執行腳本實質上是一個指令集,它的編寫正確與否是實現自動異地備份數據庫的關鍵所在。
假設shell腳本命名為auto.sh,處于目錄/home/mysql/autobackup下,腳本編輯如下:
?
DATE=`date +%Y%m%d`
DATEOLD=`date -d"-3 day" +%Y%m%d`
mysqldump? --database mysql>"home/mysql/autobackup/$DATE.sql" -uroot -h localhost –p mysql
tar -czvPf /home/mysql/autobackup/$DATE.tar.gz? /home/mysql/autobackup
scp -P 10022 /home/mysql/autobackup/$DATE.tar.gz xx.xx..4.51:/home/backup1
rm -rf /opt/$DATEOLD.tar.gz
?
針對以上腳本,需要注意以下幾點:
u???????DATE和DATEOLD是系統用來獲取當前以及3天前日期的參數,格式書寫十分重要,“`”是指tab鍵上方的符號,“+”前一定要有空格。
u???????client下的目錄/opt/backup以及server下的目錄/opt/backup1事先要存在
u???????壓縮指令為tar -czvPf,不加P參數系統會有報錯提示,因為此時系統把/opt/backup當成相對路徑。???????
u???????auto.sh的文件屬性為755
注:auto.sh中的每一條指令可通過手動執行來驗證其正確性,無誤后進行下一步操作。
?
?
?