2019年9月26日 星期四

開源資料備份系統:Duplicati (一)



在網路普及的時代,所有知識與資料的數量以非常驚人的爆炸性成長往上攀升,也因為所有的營運都與數位資料息息相關,如何做好備份就是一個令企業資訊單位非常頭痛的問題。

在資料備份方面,需要有支援多種作業系統以及目標儲存的工具,才能讓我們良好的利用手上現有的各種資源,做好備份工作。




方案介紹

在開源的領域中有多款備份系統,但我最為推薦的是 Duplicati。

Duplicati 是採用 C# 開發的備份系統,但憑藉著 Mono Framework 的跨平台能力,同樣可以讓它運作在多種作業系統上,包括 Windows 之外的 Linux、macOS、FreeBSD 等。
  • 全 Web 操作介面
  • 支援多種備份目的
  • 支援備份加密保護
  • 支援備份檔案分片
  • 支援 VSS (陰影複製)
  • 提供資料壓縮能力
  • 提供重複資料刪除能力
  • 提供排程備份功能
  • 可設定多種彈性的歷史版本保留策略
  • 簡單操作的檔案還原與版本查看瀏覽介面
  • 可在備份前後呼叫指令碼或批次檔作業
  • 支援純 CLI 模式執行操作
  • 繁體中文操作介面 (嘿嘿)


在備份目的地的清單,目前直接支援下列項目:
  • 本機資料夾或磁碟
  • FTP
  • SFTP
  • Object Storage / Swift
  • S3 相容服務
  • WebDav
  • Amazon Cloud Drive
  • Amazon S3
  • Azure Blob
  • B2 Cloud Storage
  • Box.com
  • Dropbox
  • Google Cloud Storage
  • Google Drive
  • HubiC
  • Jottacloud
  • mega.nz
  • Microsoft Office 365 Group
  • Microsoft OneDrive for Business
  • Microsoft OneDrive v2
  • Microsoft SharePoint
  • Microsoft SharePoint v2
  • OpenStack Simple Storage
  • Rackspace CloudFiles
  • Rclone
  • Sia Decentralized Cloud
  • Tahoe-LAFS


幾乎常見的雲端空間都有支援,而且隨著 Duplicati 不斷改版,支援的項目持續增加中。








安裝方式

由於需要 .NET Runtime 的執行環境,若為 Windows 要先安裝 .NET Framework,其它作業系統則需要安裝 Mono Framework。


前置作業

Windows 安裝 .NET Framework 是基本功能,本文不做介紹,Linux 部份以 Ubuntu 作為示範。

Ubuntu 18.04
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt install mono-devel gtk-sharp2

軟體安裝

本文以 Windows 與 Ubuntu 作為介紹。另外,我建議不要到官網下載,而是到 Duplicati 的 GitHub Release 頁面下載版本才是最新的。

Windows 版
Duplicati 的安裝極其簡單,以 Windows 版來說,您只要會一直按下一步就裝好了。
安裝完成以後,到開始程式區執行它並常駐在系統列中,即可準備使用。



Windows 版安裝程序



Ubuntu 版 (Ubuntu 18.04)
wget https://updates.duplicati.com/beta/duplicati_2.0.4.28-1_all.deb
dpkg -i duplicati_2.0.4.28-1_all.deb
systemctl enable duplicati
systemctl status duplicati

安裝完成並確認啟動後,可以打開瀏覽器進入 http://ip:8200 進行使用。





主要功能

成功以瀏覽器進入以後可以看到主畫面,清爽易懂而且具備了全中文操作介面,上手更是沒有太大問題。



Dupicati 主畫面



建立備份

要開始建立備份程序時,請點選主畫面左方的 [備份],進入畫面後選擇 [設定一個新備份],接下來會進到引導模式,將會一步一步協助完成備份作業設定。
  1. 一般
  2. 目的地
  3. 來源資料
  4. 排程
  5. 選項


第一步,設定名稱與加密方式。



備份作業建立


第二步,選擇備份要放置到的目的端,依據所選擇的服務,畫面會出現不同服務所需要填入的對應欄位資訊。



選擇備份目的地


第三步,選擇要備份的來源資料,可以在檔案瀏覽器中展開勾選,或是在它下方的文字方塊直接輸入完整路徑來新增。在最下方的例外可以用來決定是否要排除系統檔、隱藏檔或自訂判斷式。



選擇來源資料


第四步,設定要執行備份的排程時間,可以有多種不同的重複區間,包含用分、時、日、週、月、年為單位,也可以用更靈活的方式自訂,需參考官方文件的自訂格式輸入。



設定備份排程


第五步,依據備份來源的檔案特性來決定遠端區塊大小,若要備份來源是小檔案區多,可以把區塊大小降低以增進效能與存放效率。

保留備份數有多種模式可以自訂,保存至指定份數、保存至指定日、週、月、年以內的備份,或是不想花太多心思的話可以選擇智慧管理備份數,由系統幫您解決。

或找採用更彈性的作法,以專用語法自訂想要的保留方式,例如輸入 7D:1D,4W:1W,36M:1M 表示為每7日保留1份,每4週保留1份,每36個月保留1份。



設定其它選項


這些步驟完成以後即已建立成功,接下來就可以等第一次備份的排程結果。




結論

到目前為止,我們已經能掌握以 Duplicati 做為備份系統的核心功能,透過 Duplicait 彈性的各種支援能力,不論是要將雲端或 NAS 做為備份存放區都不是問題。

而 Duplicati 做為自由與開源軟體的特性,更能為我們解決過去備份軟體因為授權數不足而無法完全備份所有系統的困境。

 特別提醒 
Duplicati 是 備份檔案資料 為主,若想要 備份整個作業系統 請改用其它軟體,例如需要重開機離線備份的開源工具 Clonezilla,或是非商業環境可使用免費版本的 Macrium Reflect Free、Paragon Backup & Recovery Free、EaseUS Todo Backup Free,又或者有購買 Synology NAS,它有免費提供 Active Backup for Business (ABB) 亦可解決使問題。






參考資料