自動備份與快照有何分別
兩者都是複製整個伺服器硬碟的方法,但建立時機及付款方式不同。
- 自動備份:建立伺服器時開啟的附加選項。整個伺服器磁碟的副本會按固定週期自動建立,費用為伺服器費用的 5.6%,並添加到發票中。如需還原,請在首次付款確認後在支援頁面提出請求,我們將處理。
- 快照:另行訂購的產品。在大型更新前等你決定的時刻保存整個硬碟,按儲存空間每 GB 每月 $0.009 計算。訂購時由 20GB 至 2,000GB 以 10GB 為單位選擇容量。
每日變動的網站及資料庫由自動備份自動保護,作業系統升級等難以回復的工作前留下一個快照,兩項功能便互補不足。產品說明見自動備份及快照頁面。
啟用自動備份
- 在帳戶按新伺服器,選擇地區、大小及映像。
- 啟用額外選項中的自動備份。
- 右邊摘要即時顯示伺服器連備份的合計月費。
- 點擊建立伺服器並支付所選的計費週期,然後在週期結束前支付續期發票以保持伺服器運行。
自動備份是建立伺服器時選擇的選項。要保護已在使用的伺服器資料,可訂購快照或一併使用下方的伺服器內備份。以 API 建立伺服器時,在請求中加入 "backups": true 即可啟用相同選項。
從自動備份申請還原
還原由我們的支援人員處理,他們會準確回滾到您想要的時間點。首次付款確認後,請在支援頁面按以下方式提出請求。
- 主題選擇伺服器。
- 在伺服器名稱欄填寫要還原的伺服器名稱。
- 在內容寫上想回到的日期及時間(UTC),以及是否回復到同一伺服器。
還原後,伺服器磁碟會變回備份時間點的內容,之後建立的檔案會消失。如有想保留的近期檔案,請在提出前下載到自己的電腦。回覆會顯示在客戶支援頁面。
訂購快照
- 在快照頁面按訂購。
- 選擇儲存容量。與伺服器硬碟大小相同或稍大的容量,便可充裕容納整個硬碟。
- 在名稱欄寫上目標伺服器名稱,即時知道是哪部伺服器的快照。可使用英文字母、數字、句點及連字號。
- 訂購時支付所選的計費週期,準備完成後將顯示在您帳戶的產品清單中。
對於持續寫入的伺服器,例如數據庫,在建立快照時短暫暫停服務或停止伺服器可以獲得最乾淨的映像。要回滾到快照或從中建立新伺服器,請在首次付款確認後在支援頁面提供伺服器名稱和快照名稱,我們將處理。
在伺服器內自行備份
自動備份及快照保護整部伺服器,伺服器內備份則是把檔案及資料庫在其他地方多存一份的方法。遵循 3-2-1 原則,即三份副本、兩種儲存、其中一份放在別處,最為穩妥。
第 1 步:打包檔案及資料庫
mkdir -p /root/backup
tar czf /root/backup/www-$(date +%F).tar.gz /var/www
mysqldump --single-transaction --all-databases | gzip > /root/backup/db-$(date +%F).sql.gzPostgreSQL 以 sudo -u postgres pg_dumpall | gzip > /root/backup/pg-$(date +%F).sql.gz,Docker 卷宗以 docker run --rm -v VOLUME_NAME:/data -v /root/backup:/out alpine tar czf /out/VOLUME_NAME.tar.gz -C /data . 打包。
第 2 步:每日自動執行
以 crontab -e 開啟排程工作並加入下列三行,便會每日凌晨 3 時(伺服器時間)建立備份檔案,並清理超過 7 日的檔案。在 crontab 內,% 前面要加上反斜線。
0 3 * * * tar czf /root/backup/www-$(date +\%F).tar.gz /var/www
5 3 * * * mysqldump --single-transaction --all-databases | gzip > /root/backup/db-$(date +\%F).sql.gz
30 3 * * * find /root/backup -name '*.gz' -mtime +7 -delete第 3 步:再送一份到其他地方
備份檔案只放在同一伺服器,可能與伺服器一同消失。以 rsync 送到其他地區的伺服器,或以 rclone 上載到物件儲存,便在別處多一份。
rsync -az /root/backup/ backup@BACKUP_SERVER_IP:/backups/web-1/按情況應選擇哪種方法
三種方法與其互相取代,不如一同使用最穩妥。請按你伺服器的用途如下組合。
- 個人網誌、小型網站:建立伺服器時啟用自動備份,並在大幅更改佈景主題或外掛前取得一個 WordPress 匯出檔案,已經足夠。
- 網店、會員服務:在自動備份之外每日建立資料庫轉存,並送一份到其他地區,訂單紀錄及會員資料可按小時取回。
- 開發及測試伺服器:大型實驗前留下一個快照,實驗完成後刪除快照,節省儲存費用。
- 使用多部相同配置的伺服器:長期保存作為基準的伺服器快照,便可快速把新伺服器設定為相同狀態。
無論哪種組合,關鍵在於伺服器以外是否也有一份副本,以及是否曾實際用該副本還原。只要照顧好這兩點,即使突發失誤或故障,亦可從容恢復服務。
亦請一併考慮費用。自動備份按伺服器收費的 5.6% 計算,每月金額相同;快照只按保存容量收費。伺服器內備份不另收費、只用硬碟空間,但送到別處的副本需要接收方的儲存空間。以必須保護的資料大小及需要還原的頻率為準選擇,便可兼顧成本與安全。
還原演練與好習慣
備份能還原才有價值。每月左右建立一部小伺服器,解開備份檔案並確認網站能否開啟,實際發生時便不會手忙腳亂。確認完成的測試伺服器即時刪除便可。
- 大型工作前先留下一個快照或備份檔案。
- 在備份檔案名稱加入日期及伺服器名稱,即時知道是哪個時間點。
- 含資料庫密碼及 API 金鑰等機密資料的備份,只存放在安全地方。
- 重新安裝伺服器前,先完成重新安裝指南中搬走資料的步驟。
如硬碟空間不足、難以長期保存備份,亦可為伺服器加上 NVMe 區塊硬碟 作為備份專用空間。如使用 Docker,亦請一併查看Docker 安裝指南的卷宗管理。
