網站新手入門

2020 世界備份日

今天是一年一度的 3 月 31 日,也就是我們熟知的 世界備份日 World Backup Day回朔到 2017 年,我們發佈了一篇文章指南,以確保您的網站也被妥善備份。我們在該篇文章內容上做了一些修正並於今日重新發佈。

在當前充滿不確定性和危機的時期中,擁有一個良好的備份策略比以往來的更加重要。 然而,請您放心,Gandi 團隊會繼續努力以維持我們所有服務的連續性並確保我們的服務能夠正常運行。

世界備份日

如果您還沒有備份您的智慧型手機或是電腦,那麼請您現在立即備份。我們會在這裡等您,然後在一同往下閱讀文章!

現在開始請您記得,備份網站就如同您在火災、地震,或是停電等情況下備份您的個人數據和公司數據那般重要。回想一下,到目前為止您在您的網站上花費了多少的時間,然後再想想,所有的工作和努力就在一瞬間都被抹煞掉,只因為您沒有進行備份的動作。

透過 Gandi 的網頁代管服務,您可以使用我們的免費快照功能來建立備份。但是首先,我們要先跟您聊聊那裡存在著哪些風險 …

可能發生的最遭情況是什麼?

以防萬一您還是不想備份您的網站,讓我們先來看一些可能會因此而發生的最糟的情況。

受損的內容管理系統(CMS)

目前為止,網頁代管主機已用於代管內容管理系統,像是 WordPress。而且,您只要放鬆對軟體更新的防護,就有可能被惡意程式碼入侵,而該惡意程式碼會被傳播到內容管理系統軟體內的核心程式碼中。在這種情況下,最好的方式是移除整個內容並從頭開始。當然,如果您沒有要還原的內容的備份資料,那過程將變得更加痛苦。

內容管理系統(CMS)更新錯誤

另一方面,即使您已經開始進行內容管理系統的更新,有時候還是會有無法預測的情況發生。可能您有一個客製化的主題,該主題在進行更新時發生版本不相容的情形,或是更新到一半的時候有連線問題。

意外刪除文件

只要一個刪除鍵,您的整個網站都將消失。但是,更現實的來看,有時候是您以為要刪除的內容並不重要,或者您以為不再需要它,又或者,最終它只是您誤認不需要的檔案。

錯過續約時間

我們毫不懷疑您不會忘記續約 (您甚至可以嘗試啟用自動續約功能),但在偶然的情況下,您還是有可能不小心錯過了代管服務的續約日期,最後可能因而會失去您的資料。我們會在到期日之前向您寄出警告通知,並在到期日後提供您兩週的時間續約,但是我們都知道將發生什麼事。

使用快照備份功能 (snapshots) 作為您的一種備份策略

讓我們一同了解,如何在網頁代管主機上使用快照備份功能。

備註:快照功能本身並不能構成一個全面的備份策略,而僅僅是其中一部分。為了保護您的數據,除了快照功能外,您還要進行網站外和離線的備份。

開始前,請務必記住 3-2-1 備份原則:

3 個備份
2 種裝置
1 個離線備份

若您能遵守 3-2-1 原則,那麼即使您的網站遭遇到大問題也還是能受到保護。

要在您的主機上啟用快照功能,請在主機控制面板頁面中的快照功能旁邊點選 “啟用快照”。

快照功能會在預定的時間備份主機硬碟的資料,因此您可以使用它來建立文件檔的備份。

您很有可能還需要備份主機的資料庫。如果您使用的是內容管理系統,情況就是這樣。您的資料庫是儲存大部分內容的位置。

快照功能總共會在四個不同的時間點建立四個磁盤影像:一個是昨天內容的快照,一個是前天內容的快照,另一個是上週內容的快照,最後一個是上個月內容的快照。它們將在您的主機中顯示為根(/)目錄中的 “snapshot” 目錄。

那涵蓋了您的文件檔案。您可以使用在網頁代管主機中稱為 anacron 的內建工具來規劃資料庫的備份。接著,這將建立資料庫的 “匯出檔”,並將其包含在您的快照中。

以前,您必須連接 sFTP 才能編輯您的 “anacrontab” 設定。好消息是,您現在可以從您的網頁代管控制面板的控制台中編輯 “anacrontab” 設定。

要從控制台中修改設定,請點選 “Cron” 區塊下的 “編輯計劃任務”。

或是,您可以透過 sFTP 連結到您的主機並找到 anacrontab 文件。它應該在下列位址中:

/lamp0/etc/cron/anacrontab

無論是從控制面板上還是透過 sFTP 連結到文件以備份數據庫,您都需要使用 “mysqldump” 命令執行匯出。

為使備份保持最新狀態,您需要建立一個 anacron 任務去執行常規備份。這是您可以添加到主機中範例 (如果帳號 ‘root‘ 沒有密碼,則您必須刪除 {-pPASSWORD},如果有,請刪除括號 {},並在 ‘-p‘ 之後輸入 ‘root’ 帳號的密碼:

@daily 0 mysql_backup mkdir -p /srv/data/tmp/mysql_backup ; mysqldump -u root {-pPASSWORD} --all-databases | /bin/gzip -9 > /srv/data/tmp/mysql_backup/`date '+%F'`.databases.sql.gz ; rm -f /srv/data/tmp/mysql_backup/`date '+%F' --date '1 week ago'`.databases.sql.gz

此指定行將於每日匯出您的資料庫,並將最後一次的匯出保留一星期,這將與快照完美對應。

牢記 3-2-1 原則,請記得要定期從主機的根目錄複製快照目錄。如果您真的忘了續約您的主機,如前所述,而最後整個內容都被刪除,那麼您唯一的備份將是您下載到本地機器中的備份。

在緊急情況下

如果您必須從備份中還原,則只需要放入與最新備份相對應的目錄內容即可。文件夾名稱將會是以 Unix 時間標記,像是 1490741558.daily。 數字越多代表備份越新。

將編號最大的目錄內容複製到 lamp0 目錄中,刪除 ‘htdocs’,然後將 ‘htdocs’ 從快照目錄中移動到 ‘vhosts’ 目錄中。

首先,移除舊資料庫並建立一個相同名稱的新資料庫。

然後,您可以使用 phpMyAdmin 將您的資料庫導入到這個新資料庫中。要導入它,請從 phpMyAdmin 介面中點擊 Import 選項。

就是這麼簡單!現在,您可以使用快照功能備份您的網頁代管網站。