Chuyển tới nội dung chính

Đồng bộ dữ liệu giữa các bucket bằng rclone

rclone sao chép và đồng bộ dữ liệu giữa hai bucket S3, kể cả khi hai bucket nằm ở các site hoặc nhà cung cấp khác nhau. Dùng rclone khi chuyển sang FPT Object Storage từ nhà cung cấp khác, hoặc khi vận hành song song hai môi trường S3.

mẹo

Để chuyển dữ liệu từ nhà cung cấp khác vào FPT Object Storage mà không cần cài công cụ, dùng migrate job trên Portal. Xem Di chuyển dữ liệu bucket. Với s3sync, xem Kết nối bằng S3 client.

Ví dụ sau sao chép dữ liệu của bucket-site01 ở site 1 sang bucket-site02 ở site 2, trên Linux.

Yêu cầu trước khi bắt đầu​

  • Access Key, Secret Key và endpoint của từng site.
  • Một bucket trống ở site 2 để nhận dữ liệu.

Cấu hình rclone​

  1. Cài đặt rclone:

    sudo apt-get install rclone
  2. Tạo file ~/.config/rclone/rclone.conf chứa thông tin của cả hai site. Đặt provider phù hợp với từng môi trường S3, ví dụ AWS cho Amazon S3.

    [site01]
    type = s3
    provider = Other
    env_auth = false
    access_key_id = YOUR_SITE01_ACCESS_KEY
    secret_access_key = YOUR_SITE01_SECRET_KEY
    endpoint = https://s3-hcm04.fptcloud.com/
    acl = private

    [site02]
    type = s3
    provider = Other
    env_auth = false
    access_key_id = YOUR_SITE02_ACCESS_KEY
    secret_access_key = YOUR_SITE02_SECRET_KEY
    endpoint = https://s3-hfx03.fptcloud.com/
    acl = private
  3. Kiểm tra rclone thấy được bucket và dữ liệu ở cả hai site:

    rclone lsd site01:
    rclone lsd site02:
    rclone ls site01:bucket-site01

Sao chép dữ liệu​

  1. Chạy thử (dry run) để kiểm tra lỗi mà không sao chép dữ liệu:

    rclone sync -Pv site01:bucket-site01 site02:bucket-site02 --dry-run
  2. Nếu chạy thử không có lỗi, chạy lệnh sao chép:

    rclone sync -Pv site01:bucket-site01 site02:bucket-site02
  3. Kiểm tra lại bucket và dữ liệu ở cả hai site bằng rclone lsd và rclone ls.

cảnh báo

rclone sync làm cho đích giống hệt nguồn, nên sẽ xóa các file ở site 2 không có ở site 1. Để sao chép mà không xóa, dùng rclone copy.