# s3cmd

สามารถดาวน์โหลดโปรแกรม และดูรายละเอียดการใช้งานเพิ่มเติมได้จาก เว็บไซต์ของผู้พัฒนา (opens new window)โดยตรง

# วิธีการตั้งค่าเพื่อเชื่อมต่อ

TIP

การเชื่อมต่อจะต้องใช้ Access key ซึ่งผู้ที่มีสิทธิ์จัดการ space จะสามารถสร้าง Access key ใหม่ได้

วิธีการสร้าง และจัดการ Access key →

  1. เรียกคำสั่ง s3cmd --configure
  2. คำสั่งจะถาม Access key ให้ระบุ Access key ID
  3. คำสั่งจะถาม Secret key ให้ระบุ Access key secret
  4. คำสั่งจะถาม Default Region ให้ระบุ us-east-1
  5. คำสั่งจะถาม S3 Endpoint ให้ระบุ st-th-1.byteark.com
  6. คำสั่งจะถาม DNS Style bucket+hostname:port template for accessing a bucket ให้ระบุ %(bucket)s.st-th-1.byteark.com
  7. คำสั่งจะถาม Encryption password หากไม่ได้ใช้ให้กด Enter เพื่อข้ามไป
  8. คำสั่งจะถาม Path to GPG program หากไม่ได้ใช้ให้กด Enter เพื่อข้ามไป
  9. คำสั่งจะถาม Use HTTPS protocol ให้ระบุ Yes
  10. คำสั่งจะถาม HTTP Proxy server name หากไม่ได้ใช้ให้กด Enter เพื่อข้ามไป
  11. คำสั่งจะสรุปคอนฟิกทั้งหมด และถามว่า Test access with supplied credentials? (จะลองทดสอบคอนฟิกนี้หรือไม่) ให้ระบุ Y เพื่อทดสอบ
  12. ดูผลการทดสอบ
  • หากมีข้อความ Success. Your access key and secret key worked fine 😃 แปลว่าทดสอบเรียบร้อยว่าคอนฟิกสามารถใช้งานได้ และถาม Save settings? ให้ตอบ y เพื่อเซฟคอนฟิกที่ระบุมาทั้งหมด
  • แต่ถ้าทดสอบไม่สำเร็จ คำสั่งจะให้ทดลองเริ่มต้นใหม่อีกครั้ง

# คำสั่งทั่วไป

เมื่อตั้งค่าการเชื่อมต่อได้แล้ว สามารถใช้คำสั่งเพื่อดำเนินการทั่วไปได้ โดยมีตัวอย่างคำสั่งที่ใช้บ่อยๆ ดังนี้

  • s3cmd mb s3://bucket-name
    • สร้าง bucket ชื่อ bucket-name
  • s3cmd ls
    • ลิสต์รายชื่อ bucket
  • s3cmd ls s3://bucket-name
    • ลิสต์รายชื่อไฟล์ในระดับ root ของ bucket ชื่อ bucket-name
  • s3cmd ls s3://bucket-name/target/path
    • ลิสต์รายชื่อไฟล์ภายใน bucket ชื่อ bucket-name
    • และอยู่ในโฟลเดอร์ /target/path
  • s3cmd get s3://bucket-name/target/object-name /path/to/localFile
    • ดาวน์โหลดไฟล์ใน bucket ชื่อ bucket-name
    • ที่มีพาธของไฟล์อยู่ที่ /target/object-name
    • ลงมาไว้ในเครื่องของคุณที่พาธ /path/to/localFile
  • s3cmd put /path/to/localFile s3://bucket-name/target/object-name
    • อัปโหลดไฟล์ที่พาธ /path/to/localFile ในเครื่องของคุณ
    • เข้าไปที่ bucket ชื่อ bucket-name
    • โดยวางไฟล์ไว้ที่พาธ /target/object-name
    • โดยไฟล์จะมี ACL เป็น Only me (private)
  • s3cmd put --acl-public /path/to/localFile s3://bucket-name/target/object-name
    • อัปโหลดไฟล์ที่พาธ /path/to/localFile ในเครื่องของคุณ
    • เข้าไปที่ bucket ชื่อ bucket-name
    • โดยวางไฟล์ไว้ที่พาธ /target/object-name
    • โดยไฟล์จะมี ACL เป็น Anyone with link (public-read)
  • s3cmd rm s3://bucket-name/target/object-name
    • ลบไฟล์ใน bucket ชื่อ bucket-name
    • ที่มีพาธของไฟล์อยู่ที่ /target/object-name
  • s3cmd rm --recursive s3://bucket-name/target/path
    • ลบไฟล์ใน bucket ชื่อ bucket-name
    • โดยลบทุกไฟล์ ภายใต้พาธ /target/path
  • s3cmd --help
    • ดูรายการคำสั่งและออปชันที่ใช้ได้ทั้งหมด