Findhy's Blog

Art is long, Life is short.

S3cmd Configure

| Comments

s3cmd是AWS S3的命令行工具,可以用来下载、上传、同步文件,还可以配置权限。

一、配置

1.安装python-pip

yum install python-pip

如果提示No package python-pip available,先安装epel-release-6-8.noarch.rpm

rpm -ivh epel-release-6-8.noarch.rpm

2.安装s3cmd

pip install s3cmd

3.配置s3cmd

s3cmd --configure

分别输入Access Key和Secret Key

Access Key:
Secret Key:

回车,如果提示:

Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password:

输入当前登录的操作系统用户

4.HTTPS协议选择no

Use HTTPS protocol [No]: no

5.代理不填直接回车

HTTP Proxy server name: 

6.最后就是测试保存

Test access with supplied credentials? [Y/n] y
Save settings? [y/N] y

7.测试

s3cmd ls

8.下载整个目录

s3cmd get --recursive dir_name

二、使用

1.查看所有的Buckets

s3cmd ls

2.创建Buckets

s3cmd mb s3://my-bucket-name

3.删除空Buckets

s3cmd rb s3://my-bucket-name

4.上传

上传单个文件:s3cmd put file.txt s3://my-bucket-name/file.txt
批量上传:s3cmd put ./* s3://my-bucket-name/
上传整个目录:s3cmd put -r dir1 s3://my-bucket-name/
上传目录下所有文件:s3cmd put -r dir1/ s3://my-bucket-name/

5.下载

下载单个文件:s3cmd get s3://my-bucket-name/file.txt file.txt
下载整个目录下的文件:s3cmd get -r  s3://my-bucket-name/bucket_dir ./

6.删除文件

s3cmd del s3://my-bucket-name/file.txt

7.查看空间大小

s3cmd du -H s3://my-bucket-name

8.同步

同步当前目录下所有文件:s3cmd sync  ./  s3://my-bucket-name/
只列出不同步:s3cmd sync  --dry-run ./  s3://my-bucket-name/
同步且删除本地不存在的文件:s3cmd sync  --delete-removed ./  s3://my-bucket-name/
不检验跳过本地已经存在的文件:s3cmd sync  --skip-existing ./  s3://my-bucket-name/
排除包含文件规则:s3cmd sync --dry-run --exclude '*.txt' --include 'dir2/*' ./ 
更多参考这里:http://s3tools.org/s3cmd-sync

Comments