本文分享自天翼云开发者社区《支持S3协议的S3cmd工具简单使用》,作者:付**健
一:安装方法
wget http://nchc.dl.sourceforge.net/project/s3tools/s3cmd/1.0.0/s3...
tar -zxf s3cmd-1.0.0.tar.gz -C /usr/local/
mv /usr/local/s3cmd-1.0.0/ /usr/local/s3cmd/
ln -s /usr/local/s3cmd/s3cmd /usr/bin/s3cmd
二:使用方法
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
三:文件夹处理规则
带"/"斜杠的 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
四:同步方法
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/
五:高级同步
排除、包含规则(--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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。