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

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

Bởi 24 tháng 07, 2024 - 17:06 (GMT +07)

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) manager-key-digital-ocean-1024x491 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-public --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-public --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.
Bình luận
Popup image default

Thông báo