18.
異地備份
- 先準備好一台異地的主機,拿來放備份檔用,以下簡稱「備份主機」
- 本文的備份主機以IAAS(即台南試飛番雲的VM服務)為例,環境為ubuntu。
一、下載備份程式
- ensshRsync.sh 程式由卓國興老師開發
cd ~
wget https://campus-xoops.tn.edu.tw/uploads/ensshRsync.zip
unzip ensshRsync.zip
chmod +x ensshRsync.sh
- 編輯 ensshRsync.sh 內容
#本地端要備份的目錄
backuplist="/var/www /var/lib/mysql"
#遠端備份主機的IP OR DomainName
remote="120.115.1.1"
#頻寬設定
limit=5000
#recycle保留的設定
recyclekeep=7
#備份的主機使用者名稱
remoteUser="root"
# remoteUser="使用者帳號"
#備份的主機使用者家目錄
remoteHome="/root"
#remoteHome="/home/${remoteUser}"
#備份的目錄名稱
remoteDIR="${remoteHome}/backup"
-
backuplist:要備份的目錄路徑,多個請用空白隔開
-
remote:備份主機的IP
-
limit:5000就是5M,若不想限制頻寬,將之註解掉即可。
-
recyclekeep:備份份數,若一天備份一次,設成7就是可還原至7天前資料之意。
-
remoteDIR:備份主機放備份資料的資料夾(該資料夾會自動建立無須手動建立)
-
remoteUser:登入遠端主機的ssh帳號
-
remoteHome:遠端主機的ssh帳號的加目錄,如果身份不是root,請改用#remoteHome="/home/${remoteUser}"
二、執行備份
- 執行之
./ensshRsync.sh
- 前三個問題都直接按Enter略過
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
-
直到出現以下問句,輸入 yes 繼續
Are you sure you want to continue connecting (yes/no)
-
接著會要求輸入備份主機的ssh密碼,請輸入之即可(有可能需要輸入數次)。
三、加入排程
- 記得加入排程
crontab -e
-
每天三點自動備份(時間可以自己修改)
0 3 * * * /root/ensshRsync.sh
四、還原
- 若欲還原資料,直接在主機的 /root 下,執行 getMyBackup.sh 即可,例如:
./getMyBackup.sh
- 注意,一執行就會開始自動把備份資料全部抓回原主機(會另外放在backup資料夾下,不會直接覆蓋原檔案),所以,沒事別亂執行。
五、建立ISSA虛擬機
- 登入 https://cloud.dcs.tn.edu.tw,點選「虛擬機器」→「建立虛擬機器」
- 使用「快速建立」,選好範本,設定root密碼即可。
- 生成後,點選名稱
- 查到IP即可。