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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

s3cmd详解

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

文章目錄

    • 1. 安裝
      • 1.1 tar包安裝
      • 1.2 pip安裝
    • 2. 配置與文件處理
    • 3. 文件夾處理規則
    • 4. sync同步方法
    • 5. 高級同步
    • 6. 報錯

1. 安裝

1.1 tar包安裝

下載:
https://github.com/s3tools/s3cmd/releases

wget https://github.com/s3tools/s3cmd/releases/download/v2.0.2/s3cmd-2.0.2.tar.gz tar -xvf s3cmd-2.0.2.tar.gz cd s3cmd-2.0.2 python setup.py install

注意:
常見依賴工具:

pip install python-dateutil pip install setuptools

1.2 pip安裝

pip3 install s3cmd

2. 配置與文件處理

1.配置Access Key ID 和 Secret Access Key$ s3cmd --configure2.列舉所有的Buckets $ s3cmd ls3.創建 bucket,且 bucket 名稱是唯一的,不能重復。 $ s3cmd mb s3://my-bucket-name4.刪除空 bucket $ s3cmd rb s3://my-bucket-name5.列舉 Bucket 中的內容 $ s3cmd ls s3://my-bucket-name6.上傳 file.txt 到某個 bucket $ s3cmd put file.txt s3://my-bucket-name/file.txt7.上傳并將權限設置為所有人可讀 $ s3cmd put --acl-public file.txt s3://my-bucket-name/file.txt8.批量上傳文件 $ s3cmd put ./* s3://my-bucket-name/9.下載文件 $ s3cmd get s3://my-bucket-name/file.txt file.txt10.批量下載 $ s3cmd get s3://my-bucket-name/* ./11.刪除文件 $ s3cmd del s3://my-bucket-name/file.txt12.來獲得對應的bucket所占用的空間大小 $ s3cmd du -H s3://my-bucket-name

3. 文件夾處理規則

帶"/"斜杠的 dir1,相當于上傳yh目錄下的所有文件,即類似 "cp ./* "

$ s3cmd put -r yh s3://yaohong-bucketupload: 'yh/1' -> 's3://yaohong-bucket/yh/1' [1 of 4]0 of 0 0% in 0s 0.00 B/s doneupload: 'yh/2' -> 's3://yaohong-bucket/yh/2' [2 of 4]0 of 0 0% in 0s 0.00 B/s doneupload: 'yh/3.py' -> 's3://yaohong-bucket/yh/3.py' [3 of 4]0 of 0 0% in 0s 0.00 B/s doneupload: 'yh/3.sh' -> 's3://yaohong-bucket/yh/3.sh' [4 of 4]0 of 0 0% in 0s 0.00 B/s done

4. sync同步方法

1.同步當前目錄下所有文件

$ s3cmd sync ./ s3://yaohong-bucket/

2.加 "–dry-run"參數后,僅列出需要同步的項目,不實際進行同步。

$ s3cmd sync --dry-run ./ s3://my-bucket-name/

3.加 " --delete-removed"參數后,會刪除本地不存在的文件。

$ s3cmd sync --delete-removed ./ s3://my-bucket-name/

4.加 " --skip-existing"參數后,不進行MD5校驗,直接跳過本地已存在的文件。

$ s3cmd sync --skip-existing ./ s3://my-bucket-name/

5. 高級同步

排除、包含規則(–exclude 、–include)
file1-1.txt被排除,file2-2.txt同樣是txt格式卻能被包含

$ s3cmd sync --dry-run --exclude '*.txt' --include 'dir2/*' ./ s3://my-bucket-name/ exclude: dir1/file1-1.txt upload: ./dir2/file2-2.txt -> s3://my-bucket-name/dir2/file2-2.txt

從文件中載入排除或包含規則。(–exclude-from、–include-from)

$ s3cmd sync --exclude-from pictures.exclude ./ s3://my-bucket-name/

排除或包含規則支持正則表達式
–rexclude 、–rinclude、–rexclude-from、–rinclude-from

6. 報錯

# s3cmd mb s3://czsss-xxxx ERROR: [Errno -2] Name or service not known ERROR: Connection Error: Error resolving a server hostname. Please check the servers address specified in 'host_base', 'host_bucket', 'cloudfront_host', 'website_endpoint'

缺失配置
s3cmd --configure 生成的配置文件如下

$ cat /root/.s3cfg access_key = QFBD6HTA7KVCQ4FF0XGT secret_key = 5yfezCjCiZxK8icwiG3MUWYD54jkU36f9cmEfaRO host_base = s3-beta5.51wyq.cn:7480 host_bucket = %(bucket)s.s3-beta5.51wyq.cn:7480 simpledb_host = s3-beta5.51wyq.cn:7480 cloudfront_host = s3-beta5.51wyq.cn:7480 website_endpoint = http://%(bucket)s.s3-beta5.51wyq.cn:7480/

總結

以上是生活随笔為你收集整理的s3cmd详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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