[S3 Object Storage] Hướng dẫn sử dụng s3cmd để quản lý trên MacOS

Khi sử dụng lưu trữ S3 Object Storage, ngoài việc phải di chuyển file, chúng ta cũng sẽ cần một số chỉnh sửa hàng loạt ví dụ như ảnh từ private chuyển qua public. Với số lượng ít các bạn nên sử dụng trình duyệt, còn với số lượng nhiều thì cách duy nhất là sử dụng ứng dụng command line s3cmd.

Ứng dụng này hỗ trợ Windows, Macos và Linux tùy nhiên mình có thể thực hiện chúng trên Macos (với linux nó tương tự) do Windows hỗ trợ python không phải điểm mạnh nên mình không rõ về phần này khi cài đặt bị lỗi. Bài viết này mình sẽ tập trung trên MacOS.

Bước 1: Bạn mở Terminal trên MacOS và đăng nhập với user là root

Bước 2: Cài đặt python.

pip install python-dateutil

Bước 3: Cài đặt S3cmd

pip install s3cmd

Bước 4: Bạn tạo 1 Key trên Digital Ocean để cấu hình trong s3cmd (Link)

[S3 Object Storage] Hướng dẫn sử dụng s3cmd để quản lý trên MacOS 1

Bước 5: Tiến hành chỉnh sửa file config.

s3cmd –configure

Bây giờ bạn làm theo hướng dẫn, điền key, endpoint… kiểm tra kết nối.

Bạn nên xem thêm hướng dẫn ở đây.

Bước 6: Thử nghiệm xem đã kết nối thành công hay chưa

s3cmd ls

Bước 7: Chuyển toàn bộ file trong 1 thư mục từ private sang public

s3cmd setacl s3://spacename/path/to/files/ --acl-private --recursive
  • Nếu câu lệnh số 6 của mình nó trả về s3://sudo thì mình sẽ gõ
s3cmd setacl s3://sudo/path/to/files/ --acl-private --recursive
  • path/to/files: Đường dẫn tới thư mục bạn muốn chuyển file qua public

Và đây là kết quả mình đã làm.

Kết quả với hơn 6000 file

Kết quả với hơn 6000 file

Mình có hơn 6333 file ảnh trong thư mục trên, nếu mà chuyển thủ công có lẽ là chẳng biết tới khi nào mới hoàn tất. Với cách này về tương lai các bạn có thể di chuyển file từ 1 server khách về thẳng S3 của mình mà không cần phải qua một nơi trung gian như máy tính của bạn. Việc này sẽ tiết kiệm thời gian hơn rất nhiều khi dữ liệu lớn và nó cũng chuyên nghiệp hơn.

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

Leave a Reply