Hướng dẫn Backup thư mục lên S3 bằng Rclone

Last modified by Admin on 2025/06/19 15:32

Bài viết này sẽ hướng dẫn các bạn Backup thư mục lên Simple Storage bằng Rclone và chạy tự động bằng cronjob.

Bước 1: Cài đặt rclone.

sudo apt install rclone

Bước 2: Cấu hình rclone kết nối với S3

rclone config

1. Chọn n => để tạo remote mới
2. Đặt tên, ở đây tôi đặt là: my-s3

3. Chọn storage: Nhập 5 vì S3 của Bizflycloud là S3 tùy chỉnh.

1750321881472-813.png

4. Chọn 24 để tùy chỉnh remote.

1750321896306-595.png

5. Tiếp theo đến bước điền thông tin:

1750317953083-853.png

Access key và secret key thì bạn có thể lấy ở trên dashboard.

1750318005900-732.png

Sau khi điền xong Key ta tiếp tục điền tới region, ở đây ta điền Hà Nội 
(hn) không viết hoa, không dấu.

1750318084770-629.png

Tiếp đến ta điền Endpoint cho S3, Endpoint ở đây sẽ là https://hn.ss.bfcplatform.vn

1750318122204-247.png

Sau đó ta có thể điền location để ràng buộc phù hợp với khu vực, ta có thể bỏ trống nếu không chắc chắn. Chỉ để sử dụng khi tạo nhóm.

1750318155074-139.png

Bước tiếp ta là bảo mật acl có thể chọn tùy theo nhu cầu sử dụng của mình để chọn phương án hợp lý. 

1750318185974-153.png

Sau khi tạo thành công ta sẽ được output sau đây:

1750318226909-692.png

bạn chọn Y để lưu lại config.

Bước 3: Tạo thư mục backup trên bucket trong S3.

1750318637933-464.png

Bước 4: sync thử xem đã kết nối được lên S3 chưa.
Ta dùng lệnh sau:

rclone sync [Thư mục local] [config-name:bucket-name/folder] 

rclone sync /data/abc.txt my-s3:longnt/backup --progress

dùng --progress để hiển thị tiến trình.

1750318737660-276.png

Vậy là đã sync lên thành công.

1750318957483-124.png

Hoặc bạn có thể kiểm tra danh sách file trên S3 bằng lệnh:

rclone ls my-s3:my-bucket/my-backup

1750319256743-932.png

Bước 5: Thiết lập cronjob để tự động backup.

1. Dùng lệnh crontab -e để xem danh sách crontab cũng như thêm lệnh.

1750319393493-281.png

ở đây tôi dùng lựa chọn 2 để có thể chỉnh sửa file bằng trình chỉnh sửa văn bản vim.

Ở đây tôi sẽ cài đặt tự động chạy lệnh sync vào 2 giờ hàng ngày.

1750319569269-301.png

và log lỗi tôi sẽ lưu ở /root/rclone.log

Bạn lưu lại là xong rồi.
 

Nếu bạn muốn tùy chỉnh câu lệnh trong crontab thì có thể tham khảo thêm :

* * * * * command-to-run
│ │ │ │ │
│ │ │ │ └─── Thứ (0 - Chủ Nhật, 1 - Thứ Hai, ..., 6 - Thứ Bảy)
│ │ │ └───── Tháng (1 - 12)
│ │ └─────── Ngày trong tháng (1 - 31)
│ └───────── Giờ (0 - 23)
└─────────── Phút (0 - 59)

Ví dụ:

Lệnh CronÝ nghĩa
0 * * * *Chạy mỗi giờ đúng phút thứ 0
0 0 * * *Chạy lúc 0h mỗi ngày (nửa đêm)
*/10 * * * *Chạy mỗi 10 phút
30 2 * * *Chạy lúc 2:30 sáng hàng ngày
0 0 * * 0Chạy lúc 0h Chủ Nhật hàng tuần
@rebootChạy 1 lần khi máy khởi động

Chúc bạn setup thành công.