如何在 Linux 上使用 BackupPC 來架設跨平臺的備份伺服器

Gabriel Cánepa發表於2015-03-23

也許你沒有從我先前關於 backupninjabackup-manager 的兩篇文章中發現,我是一個超級備“粉”。當提到備份,我寧願備份的太多而不希望備份不足,因為如果我們有需要的話,你將會感激你為重要資料生成額外的複製所付出的時間和精力。

在這篇文章中,我將向你介紹 BackupPC,一個跨平臺的備份伺服器軟體,它可以透過網路為 Linux,Windows 和 MacOS 等系統上的客戶端主機拉取備份。BackupPC 新增了一系列的特點使得管理備份變為一件快樂的事。

BackupPC 的特點

BackupPC 自帶有一個健壯的 Web 介面,允許你以集中化的方式來收集和管理其他遠端客戶端主機上的備份。透過使用它的 Web 介面,你可以檢查日誌和配置檔案、為其他遠端主機啟動/取消/安排備份任務以及視覺化備份任務的當前狀態。你也可以非常容易地瀏覽歸檔的檔案以及從備份的歸檔中恢復單個檔案或整個備份。要恢復單個檔案,你可以直接透過 Web 介面來下載任何先前備份的檔案。不僅如此,客戶端主機並不需要安裝特別的客戶端軟體。在 Windows 客戶端上, 使用的是原生的 SMB 協議,而對於 *nix 客戶端,你將使用 rsync 或 透過 SSH, RSH 或 NFS 來使用 tar

安裝 BackupPC

在 Debian,Ubuntu 和它們的衍生版本上,執行下面的命令:

# aptitude install backuppc 

在 Fedora上, 使用 yum 命令。請注意軟體包名字對大小寫敏感。

在 CentOS/RHEL 6 上,首先要啟用 EPEL 軟體倉庫。在 CentOS/RHEL 7 上,請替代啟用 Nux Dextop 軟體倉庫。然後接著使用 yum 命令:

# yum install BackupPC 

同往常一樣,這兩種包管理系統都會自動解決依賴問題。另外,作為安裝過程中的一部分,你可能需要新配置或修改配置用於圖形使用者介面的 Web 伺服器。下面的截圖來自於 Debian 系統:

透過空格鍵來確定你的選擇,然後使用 tab 鍵移動到 Ok 選項並敲Enter鍵。

接著類似於下面的截圖將會呈現在你眼前,通知你建立了一個用來管理 BackupPC 的名為 ‘backuppc’的管理員使用者以及相應的密碼(如果你需要,這個密碼以後可以更改)。這裡需要注意的是:這裡建立了同樣名為 ‘backuppc’的 HTTP 賬戶和常規的 Linux 賬戶,它們使用相同的密碼。需要前者的目的是來訪問受保護的 BackupPC 的 Web 介面,而後者則是為了透過 SSH 來使用 rsync 來執行備份任務。

你可以使用下面的命令來更改 HTTP 賬戶 ‘backuppc’ 的預設密碼:

# htpasswd /path/to/hash/file backuppc 

至於常規的 ‘backuppc’ Linux賬戶,可以使用 passwd命令來更改它的預設密碼:

# passwd backuppc 

需要提及的是:安裝過程中會自動建立 Web 和程式的配置檔案。

啟動 BackupPC 並設定備份

首先,開啟一個瀏覽器視窗並指向 http://<伺服器名稱或 IP 地址>/backuppc/ 。當彈出提示框時,輸入先前向你建立的預設 HTTP 使用者憑據(注:即使用者名稱 backuppc 和相應的預設密碼)。假如認證成功,你就會被帶入到 Web 介面的主頁:

你想做的第一件事最有可能是透過新增一個客戶端主機來備份。進入任務窗格中的 “編輯主機”選項。我們將新增兩個客戶端主機:

  • Host #1: CentOS 7 [IP 192.168.0.17]
  • Host #2: Windows 7 [IP 192.168.0.103]

我們將透過 SSH 使用 rsync來備份 CentOS 主機,使用 SMB 來備份 Windows 主機。在執行備份之前,我們需要向我們的 CentOS 主機設定 基於金鑰認證 以及在我們的 Windows 主機中設定一個共享目錄。

下面是關於如何為一個遠端 CentOS 主機設定基於金鑰認證的指導。我們建立 ‘backuppc’ 使用者的 RSA 金鑰對,並將其公鑰傳輸給 CentOS 主機上的 root 賬戶。

# usermod -s /bin/bash backuppc
# su - backuppc
# ssh-keygen -t rsa
# ssh-copy-id root@192.168.0.17 

當彈出提示框時,鍵入 yes 併為 192.168.0.17 鍵入 root 使用者的密碼:

你需要一個遠端的 CentOS 主機的 root 許可權,以獲得在該主機中的檔案系統中寫許可權,以防要恢復的備份檔案或目錄的所有者為 root 賬戶。

一旦 CentOS 和 Windows 主機都準備完畢,使用 Web 介面將它們新增到 BackupPC:

下一步更改每個主機的備份設定:

接下來的圖片展示了 Windows 主機的備份設定:

而接著的截圖展示了 CentOS 主機的備份設定:

開始一個備份任務

為了開始備份,到每個主機的設定選項,然後點選“開始全備份”:

在任何時候,你都可以透過點選如上圖展示的每個主機的備份主頁來檢視備份任務的狀態。假如因為某些原因備份失敗,在主機選單中將會出現一個指向包含錯誤資訊的網頁的連結。當一個備份任務成功完成後,在伺服器的 /var/lib/backuppc/pc 目錄下會建立一個命名為主機名或 IP 地址的目錄。

我們也可以隨意地在命令列中瀏覽這個目錄中的檔案,但存在一個更加簡單的方式來查詢和恢復這些檔案。

恢復備份

要瀏覽這些儲存的檔案,進入每個主機的主選單下的 “瀏覽備份”選項,你可以一目瞭然地看到目錄和檔案,並選擇那些你想恢復的檔案。另外,你還可以透過點選檔案來使用預設程式開啟檔案或右擊檔案並選擇“另存為”來下載該檔案到你當前的機器上:

如若你想,你可以下載一個包含所有你想備份的內容的 zip 或 tar 檔案:

或只是恢復檔案:

總結

有句俗話說,"越簡單,越好",而這正是 BackupPC 所提供的東西。在 BackupPC 中,你將不僅找到了一個備份工具,而且還找到了一個無需任何客戶端應用來在幾個不同的作業系統中管理你的備份的方法。我相信這就有足夠的理由讓你去嘗試一下。

歡迎使用下面的評論框來留下你的評論和問題,假如你有的話。我總是樂於聽取讀者想說的話!


via: http://xmodulo.com/backuppc-cross-platform-backup-server-linux.html

作者:Gabriel Cánepa 譯者:FSSlc 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章