Sao lưu từ xa thường xuyên giúp bảo vệ dữ liệu quan trọng khỏi hỏng hóc phần cứng, ransomware và thảm họa cục bộ. Nhưng các nhà phát triển, quản trị viên hệ thống và người dùng chuyên sâu quan tâm đến quyền riêng tư, những người vận hành máy chủ headless hoặc tập lệnh theo lịch, không thể dựa vào việc tải lên thủ công qua trình duyệt hay ứng dụng máy tính để bàn.

Với sự ra mắt của Proton Drive CLI (giao diện dòng lệnh), bạn có thể đưa khả năng mã hóa đầu cuối (E2EE) zero-knowledge của Proton vào quá trình tự động hóa sao lưu đám mây: các tập lệnh sao lưu và quy trình shell theo lịch của bạn.

Để sử dụng CLI hiệu quả, bạn cần hiểu rõ vai trò của nó. Hướng dẫn này giải thích vì sao kiến trúc sao lưu dựa trên CLI vượt trội hơn đồng bộ liên tục trong nền, cách các chiến lược xử lý xung đột quản lý các phiên bản tệp và cách lên lịch sao lưu từ xa được mã hóa hoàn toàn trên Linux, macOS và Windows.

Sao lưu từ xa là gì và tại sao nó quan trọng?

Nếu bản sao lưu nằm trên cùng một máy với dữ liệu, thì đó không thực sự là một bản sao lưu. Phần cứng có thể hỏng. Ransomware mã hóa mọi thứ mà nó có thể tiếp cận, kể cả các ổ đĩa được kết nối. Hỏa hoạn, lũ lụt hay trộm cắp không phân biệt đâu là đĩa chính của bạn và đâu là ổ đĩa sao lưu nằm ngay bên cạnh.

Quy tắc sao lưu 3-2-1 ra đời chính vì lý do này: hãy giữ ít nhất 3 bản sao dữ liệu, trên ít nhất 2 loại phương tiện khác nhau, với ít nhất 1 bản từ xa.

Bản sao từ xa đó, vốn phải cách biệt về mặt địa lý so với các bản sao lưu khác và dữ liệu chính, chính là tuyến phòng thủ cuối cùng, nên nó phải nằm ở nơi mà sự cố cục bộ không thể chạm tới. Nếu bản sao này nằm trên đám mây, nhà cung cấp dịch vụ cũng không được phép đọc nội dung của nó. Đây chính là lúc Proton Drive CLI phát huy tác dụng.

Vì sao nên mã hóa bản sao lưu từ xa?

Lưu bản sao lưu ở xa đồng nghĩa với việc giao dữ liệu của bạn cho một bên thứ ba: một máy chủ từ xa nằm ngoài tầm kiểm soát của bạn, do một công ty vận hành mà quyền sở hữu hoặc chính sách có thể thay đổi, và cơ sở hạ tầng của họ có thể bị trưng cầu theo lệnh tòa hoặc bị xâm phạm.

Mã hóa đầu cuối giải quyết vấn đề này. Các tệp của bạn được mã hóa ngay trên thiết bị trước khi rời khỏi đó. Nếu máy chủ đám mây bị xâm phạm, sẽ không có gì đọc được đối với kẻ tấn công, nhà cung cấp hay bất kỳ ai không có khóa giải mã của bạn.

Proton Drive sử dụng mã hóa đầu cuối theo mặc định cho mọi thứ được tải lên qua ứng dụng máy tính để bàn, ứng dụng di động và CLI. Bản sao lưu từ xa được mã hóa của bạn được bảo vệ bởi cùng kiến trúc zero-access mà Proton đã xây dựng cho Proton Mail, theo luật quyền riêng tư nghiêm ngặt của Thụy Sĩ.

Tìm hiểu Proton Drive CLI: tập lệnh nguyên tử so với đồng bộ nền

CLI hoạt động khác với ứng dụng đồng bộ trên máy tính để bàn:

Ứng dụng máy tính để bàn và di động (công cụ đồng bộ) chạy liên tục trong nền. Chúng theo dõi thay đổi của tệp và sao chép mọi thao tác thêm, chỉnh sửa và xóa lên đám mây.

Proton Drive CLI (công cụ thực thi nguyên tử) chạy một lệnh duy nhất, chẳng hạn upload, download hoặc list, rồi thoát. Nó không theo dõi thư mục cục bộ hay chạy trong nền.

Vì sao CLI nguyên tử phù hợp với bảo mật và sao lưu

Một daemon đồng bộ liên tục sẽ sao chép y hệt dữ liệu của bạn, nên nó không đáp ứng được quy tắc 3-2-1. Nếu một tệp bị xóa cục bộ, dù do vô tình, do lỗi tập lệnh hay do ransomware, thao tác xóa sẽ đến đám mây ngay lập tức. Và nếu kẻ tấn công xâm nhập hệ thống khi daemon đang chạy, chúng có thể đọc các mã thông báo phiên đang hoạt động của nó.

CLI giải quyết điều này bằng cách kích hoạt sao lưu định kỳ theo lịch. Bạn gọi nó, nó thực thi, nó dừng lại và để lại một ảnh chụp khôi phục theo thời điểm an toàn mà bạn có thể dựa vào nếu một tệp bị xóa nhầm hoặc hỏng cục bộ.

Lưu ý: Bản thân CLI không phải là một giải pháp sao lưu hoàn chỉnh. Bạn vẫn phải quyết định sao lưu những gì, tần suất ra sao, giữ bao nhiêu phiên bản và cách kiểm tra việc khôi phục.

Cách các chiến lược xử lý xung đột quản lý sao lưu gia tăng

Theo thiết kế, CLI sẽ tự động bỏ qua các tệp giống hệt nhau và không bị thay đổi để tiết kiệm băng thông. Tuy nhiên, khi một tệp đã bị thay đổi cục bộ, bạn phải cho CLI biết cách xử lý bằng các chiến lược xử lý xung đột.

Tránh dùng skip cho việc sao lưu. Tuy nó giúp tránh làm trùng lặp, nhưng sẽ bỏ qua hoàn toàn các tệp đã thay đổi. Thay vào đó, hãy chọn chiến lược phù hợp với nhu cầu lưu giữ của bạn:

--file-conflict-strategy create-new-revision (khuyến nghị cho sao lưu) tải tệp đã thay đổi lên dưới dạng phiên bản mới và giữ lại lịch sử của nó. Số phiên bản được giữ phụ thuộc vào gói của bạn, và các phiên bản này chiếm dung lượng lưu trữ.

--file-conflict-strategy rename thêm hậu tố vào tên tệp đã thay đổi và giữ lại cả hai bản.

--file-conflict-strategy replace ghi đè tệp trước đó bằng tệp mới. Phiên bản cũ sẽ bị mất.

--file-conflict-strategy skip bỏ qua mọi tệp đã tồn tại trên đám mây, nên các thay đổi không bao giờ được lưu lại (không khuyến nghị cho sao lưu).

Ví dụ về lệnh tải lên gia tăng:

proton-drive filesystem upload ./my-local-data /my-files/Backups/Daily \
--folder-conflict-strategy merge --file-conflict-strategy create-new-revision

Thiết lập sao lưu được mã hóa tự động: hướng dẫn từng bước

Những gì bạn cần:

  • Tài khoản Proton (miễn phí hoặc trả phí; có áp dụng giới hạn dung lượng lưu trữ)
  • Tệp nhị phân Proton Drive CLI cho nền tảng của bạn (Linux, macOS hoặc Windows)
  • Môi trường shell (Terminal, Bash, Sh, PowerShell)
  • Trình lập lịch tác vụ cho các lần chạy tự động: cron (Linux/macOS) hoặc Task Scheduler (Windows)

Bước 1: Đăng nhập và chạy thử thủ công

Trước khi thiết lập tự động hóa, hãy xác thực thiết bị của bạn theo cách tương tác:

proton-drive auth login

Cách hoạt động của xác thực headless: Khi bạn chạy auth login trên một máy chủ không có trình duyệt, chẳng hạn VPS từ xa hoặc node Linux tại nhà, CLI sẽ in ra URL đăng nhập. Hãy mở URL đó trên bất kỳ thiết bị nào có trình duyệt, như máy tính xách tay hay điện thoại, và hoàn tất đăng nhập. Sau đó, máy chủ được đăng nhập.

Mẹo cho máy chủ headless / cron: Với các hệ thống headless và tự động chạy qua cron, bạn nên dùng pass làm kho lưu thông tin đăng nhập. Thiết lập nó bằng biến môi trường sau:export PROTON_DRIVE_CREDENTIALS_STORE="pass"). Các keyring tiêu chuẩn của HĐH (libsecret / GNOME Keyring) phụ thuộc vào phiên desktop GUI đang hoạt động, điều mà các tác vụ cron không có. Thiết lập pass giúp tránh các sự cố phiên D-Bus.

Bước 2: Viết tập lệnh sao lưu

Tạo một tập lệnh shell, chẳng hạn backup.sh, để xác định các đường dẫn nguồn, xử lý keyring và chạy thao tác tải lên:

#!/usr/bin/env bash
set -euo pipefail

# Khai báo biến
LOCAL_DIR="/var/backups/data"
REMOTE_DIR="/my-files/AutomatedBackups"
export PROTON_DRIVE_CREDENTIALS_STORE="pass"

# Thực thi tải lên idempotent
proton-drive filesystem upload "$LOCAL_DIR" "$REMOTE_DIR" \
--folder-conflict-strategy merge \
--file-conflict-strategy create-new-revision \
--json > /var/log/proton-backup-$(date +%Y%m%d-%H%M%S).json

echo "Sao lưu đã hoàn tất thành công lúc $(date)"

Bước 3: Lên lịch sao lưu bằng cron hoặc timer của systemd

Để chạy bản sao lưu này hàng đêm lúc 2:00 sáng bằng cron:

  1. Mở trình chỉnh sửa crontab và thêm:
crontab -e
  1. Thêm mục thực thi theo lịch:
0 2 * * * /usr/local/bin/backup.sh >> /var/log/proton-backup.log 2>&1

Thực hành tốt nhất cho sao lưu ngoài trang tự động

Một tập lệnh hoạt động được chỉ là bước khởi đầu. Ba thói quen sau giúp bản sao lưu ngoài trang của bạn luôn đầy đủ, dễ theo dõi và nằm trong giới hạn lưu trữ.

Kiểm tra khả năng khôi phục: Một bản sao lưu không khôi phục được thì cũng như không có. Hãy chuẩn bị sẵn một tập lệnh khôi phục, dựa trên proton-drive filesystem download, và kiểm tra thường xuyên để nó hoạt động khi có sự cố.

Ghi nhật ký ở định dạng máy đọc được: Thêm --json vào tập lệnh để xuất nhật ký JSON có cấu trúc. Sau đó, bạn có thể phân tích cú pháp trạng thái tác vụ bằng jq hoặc kích hoạt webhook khi bản sao lưu thất bại.

Tôn trọng sử dụng hợp lý: Đừng lên lịch tải lên với tần suất cao, chẳng hạn mỗi 60 giây. Lịch hàng ngày hoặc hàng tuần là đủ cho sao lưu ngoài trang.

Bản sao lưu ngoài trang của bạn, được mã hóa và tự động hóa

Bản sao lưu của bạn chỉ an toàn bằng chính nơi bạn gửi chúng đến. Với Proton Drive CLI, mỗi tác vụ hàng đêm đều gửi một bản sao lưu ngoài trang đã mã hóa mà không ai ngoài bạn có thể đọc được. Không kẻ tấn công, không nhà cung cấp dịch vụ lưu trữ, không cả Proton.

Bạn có mã hóa đầu cuối, sự bảo vệ pháp lý của luật bảo mật Thụy Sĩ và mã nguồn mở đã được kiểm toán độc lập. Bạn cũng giữ toàn quyền kiểm soát quy trình sao lưu của mình: chạy gì, chạy khi nào và mỗi phiên bản được lưu bao lâu.

Việc thiết lập chỉ mất vài phút. Tải CLI cho Linux, macOS hoặc Windows, chạy bản sao lưu thủ công đầu tiên, sau đó lên lịch và quên nó đi.