日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对象存储s3cmd使用手册

發布時間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对象存储s3cmd使用手册 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#s3cmd 是用于創建S3桶,上傳,檢索和管理數據到對象存儲命令行實用程序。 通常用于對象存儲服務桶和對象數據管理,包括創建桶、上傳、檢索、刪除及本地與對象存儲服務間數據同步等。

一、安裝

yum install s3cmd

apt-get install s3cmd

二、使用

1. 配置方法

  • 更改$HOME/.s3cfg配置文件
  • s3cmd --configure
  • s3cmd -c FILEFILE為已完成配置的文件

推薦更改項:
access_key = <your access key id>
secret_key = <your access key secret>
host_base = host:port
host_bucket = %(bucket)s.host
use_https = False #Default is True

2. 操作

  • 創建Bucket,且Bucket名稱是唯一的。
    s3cmd mb s3://BUCKET
  • s3cmd mb s3://my_bucket_name

  • 刪除空Bucket
    s3cmd rb s3://BUCKET
  • s3cmd rb s3://my_bucket_name

  • 列舉Object或Bucket
    s3cmd ls [s3://BUCKET[/PREFIX]]
  • s3cmd ls s3://my_bucket_name
    s3cmd ls s3://my_bucket_name/file.txt

  • 列舉所有Buckets
    s3cmd ls

  • 上傳Object到某個Bucket
    s3cmd put FILE [FILE...] s3://BUCKET[/PREFIX]

  • 上傳單個文件
    s3cmd put file.txt s3://my_bucket_name/file.txt
    批量上傳文件(上傳當前目錄下的所有文件)
    s3cmd put ./* s3://my_bucket_name/
    遞歸上傳文件(遞歸上傳當前目錄下的所有文件)
    s3cmd put ./* s3://my_bucket_name/ -r

    注:當文件大于15MB時,會采用分段上傳,可通過與--multipart-chunk-size-mb=SIZE聯用,設置上傳塊大小。也可以與--disable-multipart聯用取消分段上傳

  • 從Bucket下載Object
    s3cmd get s3://BUCKET/OBJECT LOCAL_FILE
  • 下載單個文件
    s3cmd get s3://my_bucket_name/file.txt file.txt
    批量下載(下載到當前目錄)
    s3cmd get s3://my-bucket-name/* ./

  • 刪除Object
    s3cmd del s3://BUCKET/OBJECT或s3cmd rm s3://BUCKET/OBJECT
  • s3cmd del s3://my_bucket_name/file.txt
    或s3cmd rm s3://my_bucket_name/file.txt
    rm是del的別名

  • 從Glacier存儲類中恢復文件
    s3cmd restore s3://BUCKET/OBJECT
  • s3cmd restore s3://my_bucket_name/file.txt

  • 同步目錄樹(同步操作是要進行MD5校驗的,只有當文件不同時,才會被傳輸)
    s3cmd sync LOCAL_DIR s3://BUCKET[/PREFIX]?或?s3://BUCKET[/PREFIX] LOCAL_DIR
  • 同步當前目錄下的所有文件:s3cmd sync ./ s3://my_bucket_name/

  • 獲取對應的Bucket所占用的空間大小
    s3cmd du [s3://BUCKET[/PREFIX]]
  • s3cmd du s3://my_bucket_name得到:
    179813669 19 objects s3://my_bucket_name/
    s3cmd du -H s3://my_bucket_name得到:
    171M 19 objects s3://test_bucket01/

  • 獲取Bucket或Object的版本信息
    s3cmd info s3://BUCKET[/OBJECT]
  • s3cmd info s3://my_bucket_name
    s3cmd info s3://my_bucket_name/file.txt

  • 復制Object(從BUCKET1/OBJECT1復制到BUCKET2[/OBJECT2])
    s3cmd cp s3://BUCKET1/OBJECT1 s3://BUCKET2[/OBJECT2]
  • s3cmd cp s3://my_bucket_name1/file1.txt s3://my_bucket_name2/file2.txt

  • 修改Object元數據
    s3cmd modify s3://BUCKET1/OBJECT
  • 修改example.jpg的?--mime-type為imge/jpeg
    s3cmd modify --mime-type="image/jpeg" s3://my_bucket01/example.jpg

  • 移動Object
    s3cmd mv s3://BUCKET1/OBJECT1 s3://BUCKET2[/OBJECT2]
  • s3cmd mv s3://my_bucket_name1/file1.txt s3://my_bucket_name2/file2.txt

  • 修改Bucket或對象的ACL
    s3cmd setacl s3://BUCKET[/OBJECT]
  • Bucket和Bucket所有Object權限私有s3cmd setacl s3://my_bucket_name -acl-private --recursive
    Bucket權限私有Object權限不變s3cmd setacl s3://my_bucket_name -acl-private

  • 修改Bucket策略
    s3cmd setpolicy FILE s3://BUCKET
  • 本地策略policy.json

    {

    "Version":?"2012-10-17",

    "Statement": [

    {

    "Sid":?"AddPerm",

    "Effect":?"Allow",

    "Principal":?"*",

    "Action": [

    "s3:GetObject"

    ],

    "Resource": [

    "arn:aws:s3:::volpublic/*"

    ]}]}

    設置my_bucket_name的Bucket策略s3cmd setpolicy policy.json s3://my_bucket_name

  • 刪除Bucket策略
    s3cmd delpolicy s3://BUCKET

  • 修改Bucket CORS
    s3cmd setcors FILE s3://BUCKET

  • 刪除Bucket CORS
    s3cmd delcors s3://BUCKET

  • 修改Bucket請求者付費策略
    s3cmd payer s3://BUCKET

  • 修改為申請方付款存儲桶
    s3cmd payer s3://BUCKET --requester-pays
    修改為存儲桶擁有者付款存儲桶
    s3cmd payer s3://BUCKET

  • 顯示分段上傳
    s3cmd multipart s3://BUCKET [Id]

  • 放棄分段上傳
    s3cmd abortmp s3://BUCKET/OBJECT Id

  • 列出分段上傳
    s3cmd listmp s3://BUCKET/OBJECT Id

  • 打開/關閉Bucket的access logging
    s3cmd accesslog s3://BUCKET

  • 使用secret key生成簽名
    s3cmd sign STRING-TO-SIGN

  • 若secret key為"sfdserqwovbnxz2dsc"
    s3cmd sign sfdserqwovbnxz2dsc得到:
    Signature: G3GtIkpMWFiyd/FLVvZ2z76xC20=

  • 提供有時間期限的公共訪問S3的URL
    s3cmd signurl s3://BUCKET/OBJECT <expiry_epoch|+expiry_offset>
  • 生成1小時后過期的帶有簽名的url:
    s3cmd signurl s3://test_bucket01/example.jpg +3600得到:
    http://test_bucket01.ceph40:7480/example.jpg?AWSAccessKeyId=ENECX2I210OUE60CE3LF&Expires=1471258746&Signature=AOHcWQlu0tFPJCKqsE6DUmF8sRU%3D
    生成24小時后過期的帶有簽名的url:
    在未來的時間節點1471344144后過期:
    s3cmd signurl s3://test_bucket01/example.jpg 1471344144得到:
    http://test_bucket01.ceph40:7480/example.jpg?AWSAccessKeyId=ENECX2I210OUE60CE3LF&Expires=1471344144&Signature=4%2FTlQiqvcPu8tfgCjVwjR%2BdwLDI%3D

  • 修復Bucket中無效的文件名
    s3cmd fixbucket s3://BUCKET[/PREFIX]

  • 創建Bucket Website
    s3cmd ws-create s3://BUCKET

  • 刪除Bucket Website
    s3cmd ws-delete s3://BUCKET

  • 列出Bucket Website信息
    s3cmd ws-info s3://BUCKET

  • 設置或刪除Bucket過期規則
    s3cmd expire s3://BUCKET

  • 上傳Bucket的生命周期策略
    s3cmd setlifecycle FILE s3://BUCKET

  • 移除Bucket的生命周期策略
    s3cmd dellifecycle s3://BUCKET

  • 3. 選項

  • -h, -help:查找幫助
  • --configure:配置工具
  • -c FILE, --config=FILE:配置文件名,默認為$HOME/.s3cfg
  • --dump-config:解析配置文件后轉換為當前的配置
  • --access_key=ACCESS_KEY,
    --secret_key=SECRET_KEY:設置Access Key和Secret Key
  • -e, --encrypt:在上傳前加密文件
  • --no-encrypt:不加密文件
  • -f, --force:強制覆蓋和其他危險性操作
  • --continue:繼續獲取分段下載文件(只適用于get操作)
  • --continue-put:繼續上傳部分分段上傳文件或分段上傳部分
  • --upload-id=UPLOAD_ID:當你想繼續現有的上傳,而使用的分段上傳的UploadId,可以使用s3cmd multipart [URI]命令查看UploadId
  • --skip-existing:跳過目的地址已經存在的文件(只適用于get,sync操作)
  • -r, --recursive:回歸上傳,下載或者移除。
  • --check-md5:用于同步文件,比較文件時檢驗MD5值,默認開啟。
  • --no-check-md5:同步文件,關閉 MD5檢驗,只進行大小比較,加快了轉化速度,但是可能失去一些更改的文件。
  • -P, --acl-public:允許資源匿名下載(對于Object),列表(對于Bucket)
  • --acl-private:允許擁有者擁有對象的所有權限(默認)
  • --acl-grant=PERMISSION:EMAIL or USER_CANONICAL_ID:通過賬戶的郵箱或者user ID授予資源的權限,權限包含read, write, read_acp, write_acp, full_control
  • 對admin賬戶授予對my_bucket01資源full_control權限
    s3cmd setacl s3://my_bucket01 --acl-grant=full_control:admin

  • --acl-revoke=PERMISSION:USER_CANONICAL_ID:取消賬戶的權限,權限包含read, write, read_acp, wirte_acp,用法同選項18
  • -D NUM, --restore-days=NUM:存儲文件可用的時長(單位:天),只能與restore命令一起使用
  • --delete-removed:刪除遠程文件,并不與本地文件關聯,與sync聯用
  • --no-delete-removed:不刪除遠程對象
  • --delete-after:有新資源上傳后刪除與sync聯用
  • --max-delete=NUM:刪除不超過NUM個文件與del和sync聯用
  • --add-destination=ADDITIONAL_DESTINATIONS:用于并發上傳的其他地址
  • --delete-after-fetch:在獲取遠程對象后,將遠程對象刪除,與get, sync聯用
  • -p, --preserve:保留文件系統屬性(模式,所有權,時間戳),sync命令默認包含此命令
  • --no-preserve:不保留文件系統屬性
  • --exclude=GLOB:文件名和匹配GLOB路徑將同步被排除
  • --exclude-from=FILE:從FILE中讀取用于排除的GLOBs
  • --rexclude=REGEXP:在sync時,通過正則表達式排除文件名和路徑
  • --rexclude-from=FILE:從FILE中讀取用于排除的正則表達式
  • --include=GLOB:即便先前已經排除被排除了,也能通過匹配的GLOB的文件名和路徑包含進來
  • --include-from=FILE:通過讀取FILE的方式獲取用于包含的GLOBs
  • --rinclude=REGEXP:通過正則表達式獲取包含的內容
  • --rinclude-from=FILE:通過讀取FILE獲取用于包含的正則表達式
  • --files-from=FILE:從FILE讀取源文件名的列表
  • --region=REGION, --bucket-location=REGION:設置創建Bucket的區域
  • --reduced-redundancy, --rr:存儲對象設置存儲類型為低冗余存儲,與put, cp, mv聯用
  • --no-reduced-redundancy, --no-rr:存儲對象設置為非低冗余存儲,與put, cp, mv聯用
  • --storage-class=CLASS:設置對象的存儲類型(STANDARD, STANDARD_IA, 或 REDUCED_REDUNDANCY),與put, cp, mv聯用
  • --access-logging-target-prefix=LOG_TARGET_PREFIX:訪問日志的目標前綴為S3 URI:http://acs.amazonaws.com/groups/s3/LogDelivery,與cfmodify, accesslog命令聯用
  • --no-access-logging:關閉訪問日志,與cfmodify, accesslog命令聯用
  • --default-mime-type=DEFAULT_MIME_TYPE:存儲對象默認是MIME類型,應用默認是binary/octet-stream類型
  • -M, --guess-mime-type:通過文件擴展名猜測文件的MIME類型
  • --no-guess-mime-type:使用文件的默認類型
  • --no-mime-magic:不使用mime magic來猜測MIME類型
  • -m MIME/TYPE, --mime-type=MIME/TYPE:強制使用設置的MIME類型,覆蓋--default-mime-type和--guess-mime-type類型
  • --add-header=NAME:VALUE:增加HTTP頭請求,可以使用多次。比如,使用這個選項可以設置Expires或者Cache-Control頭(或者兩者都可以)
  • --remove-header=NAME:移除已有的HTTP頭
  • --server-side-encryption:上傳對象時,采用服務端加密,與put, sync, cp, modify聯用
  • --server-side-encryption-kms-id=KMS_KEY:上傳對象時,指定?key id給服務端,服務端通過KWS進行加密,與put, sync, cp, modify聯用
  • --encoding=ENCODING:覆蓋自動檢測終端和文件系統編碼(字符集),自動檢測終端:UTF-8
  • --disable-multipart:取消文件大小比--multipart-chunk-size-mb大的分段上傳,即取消分段上傳
  • --multipart-chunk-size-mb=SIZE:分段上傳塊的大小,大于SIZE(單位:M)的部分會自動采用多線程上傳,默認大小是15MB,塊大小:最小5MB,最大5GB
  • --list-md5:在Bucket列表中包含MD5校驗,只適用于ls命令
  • -H, --human-readable-sizes:打印出可讀的形式(例如,1234顯示為1kB)
  • --ws-index=WEBSITE_INDEX:index-document的名稱,只適用于ws-create命令
  • --ws-error=WEBSITE_ERROR:error-document的名稱,只適用于ws-create命令
  • --expiry-date=EXPIRY_DATE:標示到期規則何時生效,與expire聯用
  • --expiry-days=EXPIRY_DAYS:標示對象創建后,到期規則生效的天數
  • --expiry-prefix=EXPIRY_PREFIX:用來指定一個或多個對象適用該到期規則,只適用于expire命令
  • --progress:顯示進度表(在TTY上默認顯示)
  • --no-progress:不顯示進度(在non-TTY上默認不顯示)
  • --enable:啟用已有的CloudFront?,只適用于cfmodify命令
  • --disable:關閉已有的CloudFront?,只適用于cfmodify命令
  • --cf-invalidate:上傳文件CloudFront服務不可用
  • --cf-invalidate-default-index:當使用自定義的原始文件和S3的靜態網站,默認的index文件無效。
  • --cf-no-invalidate-default-index-root:當使用自定義的原始文件和S3的靜態網站,默認的index文件路徑仍然生效。
  • --cf-add-cname=CNAME:增加已有的CNAME到CloudFront,只適用于cfcreate, cfmodify命令
  • --cf-remove-cname=CNAME:從CloudFront移除CNAME,只適用于cfmodify命令
  • --cf-comment=COMMENT:對于一個給定的CloudFront設置評論
  • --cf-default-root-object=DEFAULT_ROOT_OBJECT:當URL中為指定對象時,設置默認的root對象用于返回。使用相關路徑。比如,用default/index.html代替/default/index.html或者s3://bucket/default/index.html,只適用于cfcreate, cfmodify命令
  • -v, --verbose:輸出啟用顯示詳細信息
  • -d, --debug:啟用調試輸出,會列出調試信息
  • --version:顯示s3cmd版本信息
  • -F, --follow-symlinks:當他們是規則文件時,跟蹤鏈接
  • --cache-file=FILE:包含本地源的MD5值緩存文件
  • -q, --quiet:是標準輸出時,不輸出信息
  • --ca-certs=CA_CERTS_FILE:SSL CA證書的路徑
  • --check-certificate:查看SSL證書是否有效
  • --no-check-certificate:不檢查SSL證書的有效性
  • --check-hostname:查看SSL證書的hostname是否有效
  • --no-check-hostname:不檢查SSL證書的hostname的有效性
  • --signature-v2:使用AWS簽名版本2代替最新的簽名版本
  • --limit-rate=LIMITRATE:限制上傳或者下載速度(單位:bytes/s),支持k, m后綴
  • --requester-pays:對于操作 ,設置申請方付款標志
  • -l, --long-listing:產生長列表,與ls聯用
  • --stop-on-error:如果在傳輸中出現錯誤,則停止傳輸
  • --content-disposition=CONTENT_DISPOSITION:為簽名的URL提供Content-Disposition,例如,"inline; filename=myvideo.mp4"
  • --content-type=CONTENT_TYPE:為簽名的URL提供Content-Type,例如,"video/mp4"
  • -n, --dry-run:只顯示應該怎樣上傳或下載,但實際上并沒有做。仍可以進行S3請求得到Bucket列表等信息,只適用于文件傳輸命令
  • -s, --ssl:使用HTTPS連接S3
  • --no-ssl:不使用HTTPS連接S3
  • 總結

    以上是生活随笔為你收集整理的对象存储s3cmd使用手册的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。