Duplicati Backup lên Google Drive với mọi hệ điều hành

Tác giả: 31/12/2023

Duplicati là phần mềm sao lưu mã nguồn mở, đầy đủ tính năng, có thể chạy trên Linux, macOS, Windows và Synology. Nó cho phép bạn sao lưu các tệp và thư mục cục bộ lên đám mây (chẳng hạn như Amazon S3, Dropbox, Google Drive, OneDrive, v.v.) ở dạng mã hóa và lên lịch sao lưu tự động. Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và sử dụng Duplicati trên Debian, Ubuntu và Linux Mint.

Bạn cũng có thể áp dụng hướng dẫn này trên các bản phân phối Linux dựa trên Debian / Ubuntu, chẳng hạn như MX Linux, Linux Lite, Elementary OS, v.v.

Tính năng trùng lặp

  • Miễn phí và mã nguồn mở (được cấp phép trong GPL)
  • Đa nền tảng: chạy trên Linux, macOS, Windows và Synology.
  • Có thể nén và mã hóa bản sao lưu trước khi gửi lên lưu trữ đám mây.
  • Tiết kiệm dung lượng với tính năng sao lưu và nén gia tăng.
  • Cho phép bạn dễ dàng khôi phục các tệp đến một thời điểm nhất định, vào thư mục gốc hoặc một thư mục khác.
  • Hỗ trợ nhiều dịch vụ lưu trữ đám mây như Dropbox, Google Drive, OneDrive, box.com, Mega, Amazon S3, Storadera, BlackBlaze, Telegram Cloud, Rclone, Tencent Cloud Object Storage, Tardigrade, iDrive và mạng lưu trữ phi tập trung Sia.
  • Hoạt động với SSH / SFTP, WebDAV, FTP.
  • Hỗ trợ sao lưu cục bộ như thiết bị USB bên ngoài, NAS (lưu trữ gắn mạng) và thư mục chia sẻ Samba.
  • Duplicati sử dụng các thành phần tiêu chuẩn như rdiff, zip, AESCrypt và GnuPG. Điều này cho phép người dùng khôi phục các tệp sao lưu ngay cả khi Duplicati không có sẵn.
  • Duplicati có cả giao diện người dùng đồ họa và giao diện dòng lệnh, vì vậy bạn có thể sử dụng nó trên cả máy tính để bàn và máy chủ.
  • Tích hợp lập lịch sao lưu và cập nhật tự động.
  • Sao lưu bị gián đoạn có thể được tiếp tục.
  • Nó có thể phát hiện các bản sao lưu bị hỏng.
  • Giao diện web đáp ứng cho phép bạn truy cập Duplicati từ mọi nơi, kể cả điện thoại di động.

Duplicati là một triển khai lại C # của phần mềm sao lưu Duplicity.

Cách cài đặt Duplicati trên Debian, Ubuntu, Linux Mint Desktop hoặc Server

Bạn download gói phần mềm mới nhất  tại đây, ở đây mình chỉ demo trên Ubuntu

Duplicati

Sau đó tải lên máy chủ và cài đặt

apt install ./duplicati*all.deb

Cài đặt thêm một gói phần mềm cần thiết

apt install mono-complete

Duplicati được cài đặt như một dịch vụ systemd, có nghĩa là nó chạy trong nền. Tuy nhiên, duplicati sẽ không tự động khởi động sau khi cài đặt. Bạn có thể khởi động nó bằng cách ban hành lệnh sau trong terminal.

systemctl start duplicati

Chạy lệnh sau để bật tự động khởi động tại thời điểm khởi động.

systemctl enable duplicati

Bây giờ bạn có thể kiểm tra trạng thái của nó với:

systemctl status duplicati

Do Duplicati listen localhost:8200,nếu bạn sử dụng máy chủ, cần phải cài thêm Proxy,ở đây mình cài thêm Nginx

apt install nginx -y
rm /etc/nginx/sites-enabled/default
systemctl restart nginx

Tạo config vhost cho Duplicati , bạn thay duplicati.example.com bằng tên miền của bạn.

nano /etc/nginx/conf.d/duplicati.conf
server {
  listen 80;
  server_name duplicati.example.com;

  access_log /var/log/nginx/duplicati_access.log;
  error_log /var/log/nginx/duplicati_error.log;
  location / {
     proxy_pass http://127.0.0.1:8200;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

Sau đó khởi động nginx

systemctl restart nginx

systemctl enable nginx

Nếu bạn muốn chạy https hãy cài thêm SSL

apt install certbot -y
apt install python3-certbot-nginx -y

Tiếp theo, chạy lệnh sau để tải xuống và cài đặt chứng chỉ TLS.

certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email tudv@nhanhoa.com.vn -d duplicati.example.com

Sau khi cài đặt xong chúng ta sẽ truy cập vào website mình đã cài

Ở đây web của mình là  https://duplicati.itvn.xyz

Site này chưa được bảo vệ, vì vậy mình sẽ tạo cho nó password authen khi truy cập

touch /etc/nginx/.htpasswd
sh -c "echo -n 'tudv:' >> /etc/nginx/.htpasswd"
sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"

Ở trên là mình tạo user xác minh là tudv và passwd xxxxxx

Và thêm đoạn sau vào location

auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;

Sau đó khởi động lại nginx

systemctl restart nginx

Bắt đầu cài đặt https://duplicati.itvn.xyz

 

Do có 1 tài khoản root nên mình chọn No

Chúng ta sẽ chọn Addbackup

  • Name: tên backup
  • Mô tả:
  • Có mã hóa dữ liệu backup không:
  • Nhập pass mã hóa:

  • Nếu không khai báo thì khi backup, phần mềm sẽ upload lên thư mục gốc ( root folder)
  • AuthID: bạn cần truy cập vào trang  https://duplicati-oauth-handler.appspot.com?type=googledrive  
  • Đăng nhập account google và cho phép duplicati được login app.Sau khi đăng nhập thành công bạn sẽ nhận được mã AuthID

  • Ở đây mình backup /opt/imapsync 
  • Không backup các file đuôi .log

  • Backup hàng ngày lúc 4h sáng

Tùy chọn khác

  • Remote volume size , dung lượng max =50GB và xóa file cũ quá 7 ngày

 

  • OK chạy thử > Run now

Mình có 20MB nên backup hết 15s

Giờ xem nó restore ra sao nhé, mình sẽ xóa /opt/imapsync ở máy chủ.

rm -fr /opt/*

Tiếp theo là tùy chọn

  • Restore về chính folder /opt đã backup
  • Hoặc restore về 1 đường dẫn khác
  • Có ghi đè …

Hình ảnh thể hiện restore thành công

Hẹn gặp lại các bạn tại các bài viết sau tại wiki.nhanhoa.com.