s3cmd详解

简介: s3cmd详解

文章目录

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 --configure
2.列举所有的Buckets
$ s3cmd ls
3.创建 bucket,且 bucket 名称是唯一的,不能重复。
$ s3cmd mb s3://my-bucket-name
4.删除空 bucket
$ s3cmd rb s3://my-bucket-name
5.列举 Bucket 中的内容
$ s3cmd ls s3://my-bucket-name
6.上传 file.txt 到某个 bucket
$ s3cmd put file.txt s3://my-bucket-name/file.txt
7.上传并将权限设置为所有人可读
$ s3cmd put --acl-public file.txt s3://my-bucket-name/file.txt
8.批量上传文件
$ s3cmd put ./* s3://my-bucket-name/
9.下载文件
$ s3cmd get s3://my-bucket-name/file.txt file.txt
10.批量下载
$ s3cmd get s3://my-bucket-name/* ./
11.删除文件
$ s3cmd del s3://my-bucket-name/file.txt
12.来获得对应的bucket所占用的空间大小
$ s3cmd du -H s3://my-bucket-name

3. 文件夹处理规则

带"/"斜杠的 dir1,相当于上传yh目录下的所有文件,即类似 "cp ./* "

$ s3cmd put -r yh s3://yaohong-bucket
  upload: 'yh/1' -> 's3://yaohong-bucket/yh/1' [1 of 4]
  0 of 0 0% in 0s 0.00 B/s done
  upload: 'yh/2' -> 's3://yaohong-bucket/yh/2' [2 of 4]
  0 of 0 0% in 0s 0.00 B/s done
  upload: 'yh/3.py' -> 's3://yaohong-bucket/yh/3.py' [3 of 4]
  0 of 0 0% in 0s 0.00 B/s done
  upload: '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/
相关文章
|
存储 文件存储 对象存储
S3存储服务间数据同步工具Rclone迁移教程
目前大多项目我们都会使用各种存储服务,例如oss、cos、minio等。当然,因各种原因,可能需要在不同存储服务间进行数据迁移工作,所以今天就给大家介绍一个比较通用的数据迁移工具Rclone。
S3存储服务间数据同步工具Rclone迁移教程
|
NoSQL 调度 数据中心
|
6月前
|
存储 Ubuntu 数据管理
使用s3cmd 2.x 与 Cyberduck 管理在 DigitalOcean Spaces 对象存储中的数据
通过 `s3cmd` 2.x 和 Cyberduck,你可以轻松管理 DigitalOcean Spaces 中的数据。`s3cmd` 提供了强大的命令行操作能力,适合脚本化和自动化任务,而 Cyberduck 提供了直观的图形界面,便于日常手动操作。掌握这两种工具的使用方法,将极大提高你的数据管理效率。希望本文能帮助你更好地使用 DigitalOcean Spaces。
122 7
|
11月前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
15295 31
|
11月前
|
存储 测试技术 数据库
数据驱动测试和关键词驱动测试的区别
数据驱动测试 数据驱动测试或 DDT 也被称为参数化测试。
196 1
|
Kubernetes Docker 容器
registry.aliyuncs.com/google_containers这个镜像仓库都有啥镜像
registry.aliyuncs.com/google_containers这个镜像仓库都有啥镜像
3738 1
|
机器学习/深度学习 人工智能 算法
智能医疗新时代:AI在诊断与治疗中的深度探索
【7月更文第19天】随着人工智能技术的飞速发展,其在医疗领域的应用正逐渐成为推动行业变革的关键力量。从精准的医学影像分析到疾病的早期预测,再到加速药物研发进程,AI技术正以前所未有的方式辅助医生制定更加个性化、高效的治疗方案,为患者带来新的希望。本文将深入探讨AI在健康医疗中的三大核心应用领域:医学影像分析、疾病预测与药物研发,并通过代码示例展示其技术实践。
722 4
|
存储 缓存 数据管理
ceph存储 一文看懂目录配额(从入门到进阶,内涵完整流程和源码分析)
在Ceph文件系统(CephFS)中,目录配额是一项功能,它允许管理员限制特定目录下可以使用的存储空间总量和/或文件数量。这项功能对于控制资源消耗和防止个别用户或应用程序过度占用共享存储资源特别有用。
799 1
|
数据安全/隐私保护
s3cmd安装及使用
s3cmd安装及使用
|
监控 网络安全 PHP
对象存储oss使用问题之操作报错:Unable to execute HTTP request: SocketException如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
5660 0

热门文章

最新文章