Sử dụng borg backup
Borg Backup (thường được gọi là Borg) là một công cụ sao lưu mạnh mẽ với tính năng loại bỏ dữ liệu trùng lặp. Nó lý tưởng để tạo và quản lý các bản sao lưu được mã hóa một cách hiệu quả. Tôi đã đăng kí sử dụng một Hetzner nên bắt đầu học cách sử dụng nó.
Trước khi bắt đầu
Trước khi bắt đầu, hãy đảm bảo bạn đã có những yêu cầu sau:
- Hệ điều hành dựa trên Linux (Borg cũng tương thích với các hệ điều hành giống Unix khác như macOS).
- Dung lượng lưu trữ đủ cho kho lưu trữ sao lưu của bạn (dù là cục bộ hay từ xa). Có thể đăng kí dùng thử borgbase
- Kiến thức cơ bản về dòng lệnh Linux.
Bước 1: Cài Đặt Borg Backup
Trên hầu hết các bản phân phối Linux, Borg có thể được cài đặt bằng trình quản lý gói:
Debian/Ubuntu
sudo apt update
sudo apt install borgbackup
Với các hệ điều hành khác, hãy tham khảo tài liệu cài đặt chính thức của Borg.
Bước 2: Khởi Tạo Repository (kho lưu trữ)
Kho lưu trữ Borg là nơi dữ liệu sao lưu sẽ được lưu trữ. Bạn có thể tạo kho lưu trữ cục bộ hoặc trên máy chủ từ xa qua SSH.
Remote Repo
borg init --encryption=repokey user@remote-server:/path/to/repository
-
Thay thế
[email protected]:/path/to/repository
bằng thông tin chi tiết về máy chủ SSH của bạn. -
--encryption=repokey
đảm bảo rằng dữ liệu sao lưu được mã hóa bằng khóa được lưu trữ. -
Bạn sẽ được nhắc nhập mật khẩu. Hãy giữ mật khẩu này cẩn thận; nếu mất, bạn sẽ không thể truy cập dữ liệu.
Bước 3: Tạo Bản Sao Lưu Đầu Tiên
Để sao lưu một thư mục, sử dụng lệnh borg create
.
Ví Dụ
borg create /path/to/repository::backup-name /path/to/directory
::backup-name
chỉ định tên của bản sao lưu này.- Thay
/path/to/directory
bằng đường dẫn tới các tệp tin bạn muốn sao lưu.
Tùy Chọn
-
Loại Trừ: Sử dụng
--exclude
để loại trừ các tệp tin hoặc thư mục cụ thể:borg create /path/to/repository::backup-name /path/to/directory --exclude '/path/to/directory/temp'
-
Nén: Bật nén bằng
--compression
(ví dụ:zstd,9
để nén tối đa): -
Sử dụng
--encryption=none
nếu không cần mã hóa.
Bước 3: Tạo bản sao lưu đầu tiên
Để sao lưu một thư mục, chạy lệnh sau:
borg create /path/to/repository::backup-name /path/to/data
- Thay thế
/path/to/repository
bằng vị trí kho lưu trữ của bạn. - Thay thế
backup-name
bằng một tên duy nhất cho bản sao lưu (ví dụ:2024-12-14-backup
). - Thay thế
/path/to/data
bằng thư mục hoặc tệp mà bạn muốn sao lưu.
Ví dụ:
borg create /backups::my-first-backup /home/user/documents
Bạn cũng có thể bao gồm nhiều thư mục và tệp:
borg create /backups::multi-source-backup /etc /var/log /home/user
Bước 4: Liệt kê các bản sao lưu
Để xem danh sách tất cả các bản sao lưu trong một kho lưu trữ:
borg list /path/to/repository
Bước 5: Khôi phục bản sao lưu
Khôi phục các tệp hoặc thư mục từ một bản sao lưu bằng cách sử dụng:
borg extract /path/to/repository::backup-name
Để khôi phục một tệp hoặc thư mục cụ thể:
borg extract /path/to/repository::backup-name /path/to/restore
Bước 6: Kiểm tra và dọn dẹp các bản sao lưu
Kiểm tra tính toàn vẹn
Đảm bảo tính toàn vẹn của các bản sao lưu:
borg check /path/to/repository
Dọn dẹp các bản sao lưu cũ
Xóa các bản sao lưu cũ để giải phóng không gian lưu trữ trong khi giữ lại một chính sách lưu trữ được xác định:
borg prune --list /path/to/repository --keep-daily=7 --keep-weekly=4 --keep-monthly=6
Lệnh này giữ lại 7 bản sao lưu hàng ngày, 4 bản sao lưu hàng tuần và 6 bản sao lưu hàng tháng gần nhất.
Bước 7: Tự động hóa sao lưu
Sử dụng cron job hoặc systemd timer để tự động hóa sao lưu.
Ví dụ về cron job
Chỉnh sửa crontab của bạn:
crontab -e
Thêm một dòng để lên lịch sao lưu hàng ngày lúc 2 giờ sáng:
0 2 * * * borg create /path/to/repository::daily-$(date +\%Y-\%m-\%d) /path/to/data && borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=6