跳到主內容

Duplicati 備份系統 - CentOS

  BUBU 之前看了節省哥的文章剛好有看到這一套開源等級檔案式備份系統 Duplicati 之前因為一直都沒有時間可以測試,剛好公司內部有這樣子需求,因之前都是自己去參考網路的上的備份方式來修改腳本。

運行環境


  環境都是在 「Proxmox VE 」 虛擬系統上架設,都是以 「 LXC 」模式為主,除非有特殊狀況會告知使用 「 VM 」 模式

  • 系統環境: CentOS7

安裝過程


  因為這一套是用 C# 語言去寫的所以需要有 .net 的環境才能正常運行,那 Linux 如果想要這樣子的環境需要另外安裝套件 Mono 才能正常運行這一套備份系統。

安裝 Mono 套件

  • 安裝認證 key
rpmkeys --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
  • 新增加來源庫
su -c 'curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo'
  • 更新系統
yum update
  • 安裝 mono
yum install mono-devel -y
安裝 Duplicati

  • 安裝必要套件
yum install epel-release libappindicator -y
  • 下載安裝包 官方載點 看是什麼系統選擇安裝檔
curl -O https://updates.duplicati.com/beta/duplicati-2.0.3.3-2.0.3.3_beta_20180402.noarch.rpm

# 最新版本 2.0.6 無法安裝,因會有套件無法安裝,用 2.0.4 版本安裝是正常的
wget https://github.com/duplicati/duplicati/releases/download/v2.0.4.38-2.0.4.38_canary_2019-12-29/duplicati-2.0.4.38-2.0.4.38_canary_20191229.noarch.rpm
  • 安裝 Duplicati 服務
yum install duplicati*
  • 新增服務 vim /etc/systemd/system/duplicati.service
[Unit]
Description=Duplicati Backup software
[Service]
ExecStart=/usr/bin/mono /usr/lib/duplicati/Duplicati.Server.exe --webservice-interface=any
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
  • 啟動服務
systemctl enable duplicati && systemctl start duplicati
  • 在用 http://站台ip:8200 就可以看到畫面了。

  • 登入會看這樣子的畫面,會詢問是是否要新增密碼

duplicati-01.png

  • 我們就先新增了備份

duplicati-02.png

  • 填入要備份的名稱及是否有要加密,因為備份起來是會是壓縮檔。

duplicati-03.png

  • 設定要備份的地方。

duplicati-04.png

  • 設定要備份的資料

duplicati-05.png

  • 設定備份排程

duplicati-06.png

  • 這裡需要設定保留備份數量

duplicati-07.png

電子郵件設定


  • 在設定頁面下有一個預設選項點選編輯文字內容
--accept-any-ssl-certificate=true
--send-mail-from= 寄件者名稱 <寄件者郵件>
--send-mail-subject=Duplicati %OPERATIONNAME% report for %backup-name%
--send-mail-to=收件者郵件
--send-mail-url=smtp://郵件伺服器:587/?starttls=when-available
--send-mail-body=%RESULT%
--send-mail-username=登入帳號
--send-mail-password=登入密碼
--send-mail-level=all

補充說明


備註





參考相關網頁