1. 程式人生 > >centos下自動備份mysql,將備份檔案轉到其他機器備份

centos下自動備份mysql,將備份檔案轉到其他機器備份

1、首先建立備份目錄和備份指令碼檔案,這就不多說了

2、備份交本檔案如下:

#!/bin/bash
now=$(date +"%Y%m%d") #獲取當前日期
days=5
bk_dr=/ #備份目錄的路徑
find $bk_dr/備份檔名稱  -mtime +$days -exec rm -rf {} \; #刪除$days的備份檔案
mysqldump -u 資料庫賬號  -p資料庫密碼  要備份的資料庫 |gzip> $bk_dr/匯出的檔名$now.sql.gz

username=root
chown -R $username:$username $bk_dr #給備份檔案設定所有者

scp $bk_dr/匯出的檔名$now.sql linux賬號@要備份到的伺服器IP:/路徑

(這裡用的scp,為了不每次都輸入備份伺服器的密碼,需要設定機器信任,也可以用ftp等方式)

3、設定兩臺機器的ssh信任

使用ssh-keygen -t rsa命令,建立信任證書
ssh [email protected] mkdir -p .ssh在要備份的機器上建立.ssh目錄用於存放證書
cat .ssh/id_rsa.pub | ssh [email protected] 'cat >> .ssh/authorized_keys'把證書拷貝到剛才建立的目錄並改名為authorized_keys
這樣就可以用ssh命令測試一下
ssh [email protected]

4、將備份檔案變成可執行檔案

chmod +x 檔案所在路徑
5、建立任務計劃
vi /etc/crontab
新增一行命令:執行時間  執行的賬號  需要的命令  執行檔案的位置
                       * * * **  user          Command      / (具體寫法可以查詢一下crond) 重啟crontab /etc/rc.d/init.d/crond restart 開機執行: chkconfig crond on
重啟服務 service crond restart centos7下設定開機啟動和重啟服務的命令: systemctl enable crond.service;
systemctl restart crond.service;