centos下自動備份mysql,將備份檔案轉到其他機器備份
阿新 • • 發佈:2019-01-03
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、將備份檔案變成可執行檔案
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;