如何在 Linux 上使用 BackupPC 來架設跨平臺的備份伺服器
也許你沒有從我先前關於 backupninja 和 backup-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
相關文章
- 12c跨平臺完成PDB的備份遷移
- Linux 平臺上的寫作者必備工具Linux
- 如何在linux伺服器上使用hanlpLinux伺服器HanLP
- RMAN備份恢復典型案例——跨平臺遷移pdb
- 在 X86_64(amd64) 平臺上的docker支援打包跨平臺的映象(如arm64)Docker
- 在Linux上使用的10種雲備份方案Linux
- 12c – 使用跨平臺增量備份來減少傳輸表空間的停機時間 (文件 ID 2102859.1)
- 12c – 使用跨平臺增量備份來減少傳輸表空間的停機時間 (Doc ID 2102859.1)
- 如何在SAP雲平臺上使用MongoDB服務MongoDB
- 如何在 Linux 上使用 kill 和 killall 來管理程式Linux
- Linux下如何使用Rsync備份伺服器重要資料Linux伺服器
- Kotlin 新版來了,支援跨平臺!Kotlin
- 如何在 Linux 上設定古老又簡單的 TFTP 伺服器LinuxFTP伺服器
- 如何在 Linux 上使用 pkgsrcLinux
- Oraclc 12C使用不一致備份執行跨平臺傳輸表空間
- Go 跨平臺 UI 庫來了 fyneGoUI
- 使用 cmake 來搭建跨平臺的應用程式框架:C語言版本框架C語言
- NODE_ENV跨平臺設定
- Linux伺服器日誌備份到本地Linux伺服器
- 使用c++開發跨平臺的程式C++
- 如何在 Linux 上使用 GNU sedLinux
- tensorflow機器學習模型的跨平臺上線機器學習模型
- 使用GoodSync備份伺服器檔案Go伺服器
- JAVA的跨平臺原理Java
- 使用Electron構建跨平臺的桌面應用
- 微信支付的跨平臺架構到底有多牛?架構
- rust跨平臺Rust
- 如何在伺服器上使用 Tensorflow, Notebook伺服器
- Electron構建跨平臺應用Mac/Windows/LinuxMacWindowsLinux
- 讓你的文章閱讀翻倍,跨平臺寫作必備神器!
- 跨平臺技術演進及Flutter未來Flutter
- 如何在多臺 Web 伺服器上共享 sessionWeb伺服器Session
- 在 WSL Ubuntu 上使用 .NET 進行跨平臺開發新手入門Ubuntu
- 收藏! Linux 伺服器必備的安全設定Linux伺服器
- 備份伺服器伺服器
- .NET跨平臺實踐:.NetCore、.Net5/6 Linux守護程式設計NetCoreLinux程式設計
- .NET Core 跨平臺
- 跨平臺編譯編譯
- Java跨平臺原理Java