制定合理的mysql資料備份方案,並寫備份指令碼,要求把備份資料傳輸到備份伺服器。
需求:
本地server訪問備份server不需要輸入密碼(做雙機金鑰認證)
本地指令碼備份不需要輸入提示任何輸入使用者名稱和密碼
每天晚上3點開始執行備份,並把日誌輸出到指定檔案。
本機資料儲存1個月,備份server儲存3個月。
金鑰認證:
$ sudo mkdir /root/。ssh 建立一個。ssh的資料夾
$ sudo chmod 700 /root/。ssh 給。ssh的資料夾授權
$ sudo vi /root/。ssh/authorized_keys 複製公鑰到此檔案
在 /etc/my。cnf中新增mysqldump的user和password
[mysqldump]
user=root
password[email protected]123
備份整個資料庫指令碼,並刪除本地30天以外的資料庫!
#! /bin/bash
##backup all of mysql we used
##written by zhdya_20170928
d=`date +%Y%m%d`
mysqldump ——all-databases > /bak/mysql/$d。sql
rsync -az /bak/mysql/$d。sql 192。168。14。107:/bak/mysql/
find /bak/mysql/ -mtime +30 -name ‘*[1-9]。sql’ -exec rm -rf {} \;
echo “mysql backup end at `date +”%F %T“`。” >>/var/log/mysqlbak。log