Phần mềm s4cmd là một công cụ dòng lệnh có thể truy cập các dịch vụ lưu trữ tương thích với S3, chẳng hạn như Object Storage. Nó sử dụng ứng dụng khách S3 trong thư viện boto3 của Amazon. So với công cụ s3cmd phổ biến, s4cmd thường nhanh hơn nhiều nhưng nó có ít tùy chọn hơn và ít cấu hình hơn. Đối với nhiều trường hợp sử dụng, Linode CLI hoặc s3cmd được khuyên dùng.

Cài đặt s4cmd

Để cài đặt S3cmd trên cả hệ thống Mac và Linux, có thể sử dụng pip trình quản lý gói của Python.

sudo pip cài đặt s4cmd

Một số bản phân phối Linux cũng có thể cài đặt s4cmd từ trình quản lý gói của riêng chúng, nhưng những phiên bản đó có thể không cập nhật. Xem Tải xuống S3cmd để biết thêm thông tin.

Bạn có thể tìm thấy các phương pháp cài đặt s4cmd bổ sung trong tệp Readme s4cmd trong phần Cài đặt và thiết lập.

Định cấu hình thông tin xác thực

Để truy cập các nhóm và đối tượng Object Storage, s4cmd cần biết Access Key và Secret Key để sử dụng. Theo mặc định, s4cmd tìm kiếm những thông tin xác thực này trong tệp ~/.s3cfg, đây là tệp cấu hình mà s3cmd sử dụng. Nếu bạn chưa cài đặt và định cấu hình s3cmd, hãy tạo tệp này và thêm các nội dung sau.

[default]
access_key = YOUR_ACCESS_KEY
secret_key = YOUR_SECRET_KEY

Thay thế YOUR_ACCESS_KEY và YOUR_SECRET_KEY bằng access key và secret key đã tạo trên tài khoản Linode của bạn. Nếu bạn chưa tạo những thông tin xác thực này, hãy làm theo hướng dẫn Quản lý khóa truy cập.

Bạn có thể tìm thấy các phương pháp định cấu hình thông tin xác thực bổ sung trên tệp s4cmd Readme trong phần Cài đặt và Thiết lập

Chỉ định url điểm cuối

Ban đầu, s4cmd được sử dụng cho Amazon S3. Để cho phép các giải pháp tương thích với S3 khác sử dụng công cụ này, tùy chọn lệnh –endpoint-url đã được thêm vào. Khi chạy bất kỳ lệnh s4cmd nào, bạn sẽ cần chỉ định url điểm cuối đầy đủ của Cụm lưu trữ đối tượng mà nhóm của bạn nằm trong đó. Để biết danh sách đầy đủ các Cụm và điểm cuối S3 được liên kết của chúng, hãy xem hướng dẫn Truy cập nhóm và tệp thông qua URL).

Ví dụ: lệnh sau sẽ liệt kê tất cả các nhóm trong trung tâm dữ liệu Newark:

s4cmd ls --endpoint-url https://us-east-1.linodeobjects.com

Tương tác với xô

Liệt kê các nhóm

Lệnh: s4cmd ls

Ví dụ: Liệt kê tất cả các nhóm trên tài khoản trong trung tâm dữ liệu Newark:

s4cmd ls --endpoint-url https://us-east-1.linodeobjects.com

Tạo bucket

Lệnh: s4cmd mb s3://[bucket-label], thay thế [nhãn nhóm] bằng nhãn bạn muốn sử dụng cho nhóm mới.

Ví dụ: Tạo một nhóm có nhãn “example-bucket” trong trung tâm dữ liệu Newark:

s4cmd mb s3://example-bucket --endpoint-url https://us-east-1.linodeobjects.com

Xóa bucket

Hiện tại không có lệnh xác định nào để xóa nhóm thông qua s4cmd.

Tương tác với đồ vật

Liệt kê các đối tượng

Lệnh: s4cmd ls [path], trong đó [path] là đường dẫn của thư mục bạn muốn xem trong một nhóm.

Ví dụ: Liệt kê tất cả các đối tượng trong nhóm có tên là “example-bucket”, nằm trong trung tâm dữ liệu Newark:

s4cmd ls s3://example-bucket/ --endpoint-url https://us-east-1.linodeobjects.com

Tải lên một đối tượng

Lệnh: s4cmd đặt [tệp] s3://[nhãn nhóm]/[đường dẫn], thay thế [tệp] bằng tên và đường dẫn của tệp bạn muốn tải lên, [nhãn nhóm] bằng nhãn cho nhóm của bạn và [path] bằng thư mục tùy chọn trong nhóm.

Ví dụ: Tải tệp “file.txt” lên bộ chứa có tên “example-bucket”, nằm trong trung tâm dữ liệu Newark:

s4cmd đặt file.txt s3://example-bucket/ --endpoint-url https://us-east-1.linodeobjects.com

Việc tải lên hoặc đổi tên đối tượng bằng cách sử dụng các ký tự đặc biệt không chuẩn và các ký tự ASCII/Unicode bất thường có thể gây ra sự cố. Điều này bao gồm các ký tự: : ” ‘ < > & + =.

Tải xuống một đối tượng hoặc thư mục

Lệnh: s4cmd get s3://[bucket-label]/[path], thay thế [bucket-label] bằng nhãn cho vùng chứa của bạn và [path] bằng đường dẫn đầy đủ và tên tệp tùy chọn của tệp hoặc thư mục bạn muốn tải xuống .

Ví dụ: Tải xuống tệp “file.txt” từ nhóm có tên “example-bucket”, nằm trong trung tâm dữ liệu Newark:

s4cmd nhận s3://example-bucket/file.txt --endpoint-url https://us-east-1.linodeobjects.com

Nguồn: https://techdocs.akamai.com/cloud-computing/docs/using-s4cmd-with-object-storage