ORON
回科技觀點
網站製作10 分鐘閱讀

官網備份與還原:出事那天能不能兩小時救回

備份真正的門檻不是「有沒有備」,而是出事那天多久能救回、救回到哪一天。從 RPO/RTO、3-2-1 原則到每季還原演練,一次講清楚。

官網備份與還原:出事那天能不能兩小時救回

多數中小企業老闆對「網站備份」的印象,大概停在主機商後台那個打勾的選項:每天自動備份,勾了,安心了。直到某一天首頁變成一片白,或是被掛上不知道哪來的賭博連結,才第一次點開那個備份列表——然後發現最新的一筆是三個月前,或者更常見的狀況是,備份檔就躺在同一台被入侵的主機裡。

備份這件事真正的門檻不在「有沒有備」,而在「出事那天,你多久能把網站救回來、救回到哪一天的版本」。這兩個問題答不出來,備份就只是一種心理安慰。這篇文章把它拆成老闆聽得懂、也能直接拿去問廠商的幾個具體數字與動作。

機櫃上整齊排列、標示清楚的黃綠色網路線,象徵事先規劃好的備份與還原架構

Photo by Albert Stoynov on Unsplash

一、先寫下兩個數字:能掉多少、能停多久

資安圈有兩個常用指標,名字很拗口,但意思很白話:

  • RPO(可容忍的資料遺失):出事後還原回去,最多能接受掉幾小時的資料?如果你的官網每天進 5 筆詢問單,掉一天大概損失一兩萬;如果是有線上訂單的購物網站,掉一天可能是整月的獲利。
  • RTO(可容忍的停機時間):從發現出事到網站重新能用,最多能接受多久?兩小時、一天、還是「反正客戶也不常看」?

這兩個數字決定了你該花多少錢。一天備一次、還原要找工程師手動處理的方案,大概落在 RPO 24 小時、RTO 半天到一天;要做到 RPO 一小時、RTO 兩小時,就需要更頻繁的資料庫增量備份與事先準備好的還原腳本,成本自然不同。

務實的建議是:一般形象官網,RPO 24 小時、RTO 4 小時就相當夠用;有購物車或會員資料的站,RPO 應該壓到 1 小時以內,因為訂單與金流紀錄掉了就是真的掉了,客戶不會陪你重填一次。

二、3-2-1 原則:備份不能只有一份

這是備份領域最老、也最少人真的做到的原則:至少 3 份資料、存在 2 種不同媒介、其中 1 份放在異地且離線

翻成中小企業官網的實際配置,大概是這樣:

  • 第 1 份:網站主機上的每日本機備份(還原最快,但主機掛了就一起沒了)。
  • 第 2 份:自動同步到雲端物件儲存(例如各家雲端商的 S3 相容儲存空間,或 Google Drive、Dropbox 這類消費級服務也行,重點是「不同一台機器」)。
  • 第 3 份:每週或每月一份,下載到公司的外接硬碟,抽出來、不要一直插著。

第三份特別重要的原因是:勒索軟體與被入侵的主機帳號,會把所有「連得上」的備份一起加密或刪掉。一顆平常不插電的硬碟,是唯一駭客碰不到的東西。成本也不高,一顆外接硬碟加一個月固定十分鐘的例行動作而已。

三、到底要備哪些東西?不是只有「網站檔案」

很多人以為把 wp-content 或整個網站目錄壓縮下來就叫備份,結果真的要重建的時候才發現東缺西缺。完整的清單至少要包含:

  • 網站檔案:程式碼、佈景主題、外掛、上傳的圖片與 PDF。
  • 資料庫:文章、商品、訂單、會員、表單紀錄。這是最重要、也最常被漏掉的一塊,因為它不在資料夾裡。
  • 伺服器設定:nginx/Apache 設定檔、PHP 版本與參數、排程工作(cron)。
  • SSL 憑證與網域設定:DNS 紀錄一份截圖或匯出檔,換主機時可以少花好幾個小時。
  • 第三方串接的金鑰:金流、簡訊、LINE、Google Analytics 的設定值。這些通常存在別人的後台,但至少要有一份清單,知道要去哪裡拿。

把上面五項寫成一張紙,交給不同的人都能照著重建,才叫做備份做完了。

走廊上方亮著的綠色緊急出口標示,象徵事先規劃好的還原路線

Photo by Jakub Żerdzicki on Unsplash

四、三種最常見的失敗,全都不是技術問題

中小企業備份失效的原因高度重複,而且幾乎都與技術能力無關:

1. 備份跟網站放在同一台主機。硬碟壞了、機器被入侵、帳號被停權,備份一起陪葬。這是最常見、也最容易修的一項。

2. 備份三個月前就悄悄停了,沒人發現。外掛更新後失效、雲端空間滿了、授權到期、排程被改掉——備份程式不會打電話給你。解法是給備份加一個「成功通知」:每天寄一封信到公司信箱,內容只要有日期和檔案大小就好。你不需要看,但連續三天沒收到,你會發現。

3. 備份檔從來沒有被打開過。壓縮壞掉、資料庫匯出缺了一半、密碼忘了,這些都只有在你試著還原時才會知道。沒驗證過的備份,嚴格說起來不算備份,只能算一個檔案。

五、每季一次還原演練:真正拉開差距的一件事

這是本文最想推銷的一個習慣,而且它不花錢:每一季,找一個下午,實際把備份還原到一個測試環境,並且計時。

做法可以很陽春:在本機或一台便宜的測試主機上,照著備份檔重建一次網站。過程中把每個卡住的點記下來——資料庫密碼找不到、圖片路徑跑掉、SSL 憑證要重申請、某個外掛的授權綁定舊網域。這些坑在平常沒有成本,在真正出事那天每一個都是一小時。

演練結束後,你會得到一個很有價值的數字:實際還原時間。如果它是 6 小時,而你原本以為是 1 小時,那你現在知道該補什麼了。把這個數字和卡關清單寫進一份文件,放在老闆和負責人都拿得到的地方(不要只放在網站主機上,這點很重要)。

手中握著一只懷錶,象徵還原演練時要實際計時

Photo by Veri Ivanova on Unsplash

六、保留多久?一個夠用的預設值

備份不是留越多越好,儲存空間要錢,找檔案也會變慢。對一般中小企業官網,下面這組保留策略夠用,也方便跟廠商溝通:

  • 每日備份保留 7 天:處理「昨天改壞了」這類日常意外。
  • 每週備份保留 4 週:處理「上個月某次更新之後就怪怪的」。
  • 每月備份保留 6 個月:處理被植入惡意程式碼這種潛伏很久才發現的狀況。被入侵的網站往往在幾週前就被動過手腳,只留 7 天的備份,會發現每一份都已經含毒。

以一個含圖片約 5GB 的網站來算,這組策略大約需要 60~100GB 的雲端空間,市面上常見的物件儲存服務一個月大致落在數十元到一兩百元新台幣的等級。這個成本跟網站掛掉一週的損失相比,基本上可以忽略。

七、老闆可以直接拿去問的六個問題

你不需要自己動手,但你需要問得出對的問題。把下面六題丟給維護廠商或內部負責人,答案會很快讓你知道現況:

  1. 我們的備份多久做一次?資料庫也有備嗎?
  2. 備份存在哪裡?跟網站是同一台主機嗎?
  3. 有沒有一份是離線、駭客刪不掉的?
  4. 備份失敗的時候,誰會收到通知?
  5. 最近一次實際還原測試是什麼時候?花了多久?
  6. 如果今天主機整台不見,網站多久能回來?誰負責?

六題裡有三題答不出來,就代表你的網站目前是靠運氣在運作。

結語:把它變成行事曆上的一件事

備份的麻煩在於,它做得再好都不會有人稱讚,只有出事那天才看得出差別。也因為這樣,它幾乎總是排在待辦清單的最後面。

比較務實的做法是把它變成兩個固定動作:每天一封備份成功通知信,以及每季一次計時還原演練。前者花不到一小時設定,後者一年佔掉四個下午。做完這兩件事,你的網站就已經領先絕大多數同規模的公司。

如果你不確定現在的官網備份配置屬於哪一種狀態,最快的方式就是拿上面那六個問題去問一次,然後把答案寫下來。寫得出來,代表你有備份;寫不出來,代表你只有一個打勾的選項。

想把這些做到你的網站上?

不論是快速上線的模板建站、客製官網或後台系統,留個訊息,我們會回你「能做+報價+時程」。

加 LINE 詢問