s3cmd 是一款 Amazon S3 命令行工具。它不仅能上传、下载、同步,还能设置权限,下面是完整的安装使用指南。
主要是还是用来储存日志文件或者其他什么资料。

https://wangyan.org/blog/s3cmd-how-to-use.html

原文链接:http://www.cnblogs.com/zhyg6516/archive/2011/09/02/2163933.html

s3cmd 安装使用指南

s3cmd 是一款 Amazon S3 命令行工具。它不仅能上传、下载、同步,还能设置权限,下面是完整的安装使用指南。

一、安装方法

方法一:(Debian/Ubuntu )

1
2
3
wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | sudo apt-key add -
wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list
apt-get update && sudo apt-get install s3cmd

方法二:

1
2
3
4
wget http://nchc.dl.sourceforge.net/project/s3tools/s3cmd/1.0.0/s3cmd-1.0.0.tar.gz
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

1
s3cmd --configure

2、列举所有 Buckets。(bucket 相当于根文件夹)

1
s3cmd ls

3、创建 bucket,且 bucket 名称是唯一的,不能重复。

1
s3cmd mb s3://my-bucket-name

4、删除空 bucket

1
s3cmd rb s3://my-bucket-name

5、列举 Bucket 中的内容

1
s3cmd ls s3://my-bucket-name

6、上传 file.txt 到某个 bucket,

1
s3cmd put file.txt s3://my-bucket-name/file.txt

7、上传并将权限设置为所有人可读

1
s3cmd put --acl-public file.txt s3://my-bucket-name/file.txt

8、批量上传文件

1
s3cmd put ./* s3://my-bucket-name/

9、下载文件

1
s3cmd get s3://my-bucket-name/file.txt file.txt

10、批量下载

1
s3cmd get s3://my-bucket-name/* ./

11、删除文件

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

12、来获得对应的bucket所占用的空间大小

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

三、目录处理规则

以下命令都能将dir1 中的文件上传至my-bucket-name,但效果只截然不同的。

1)dir1 不带"/"斜杠,那么dir1会作为文件路径的一部分,相当于上传整个dir1目录,即类似 "cp -r dir1/"

1
2
~/demo$ s3cmd put -r dir1 s3://my-bucket-name/
dir1/file1-1.txt -> s3://my-bucket-name/dir1/file1-1.txt [1 of 1]

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

1
2
~/demo$ s3cmd put -r dir1/ s3://my-bucket-name/
dir1/file1-1.txt -> s3://my-bucket-name/file1-1.txt [1 of 1]

四、同步方法

这是s3cmd 使用难点,但却是最实用的功能。官方使用说明见《s3cmd sync HowTo》

首先明确,同步操作是要进行MD5校验的,只有当文件不同时,才会被传输。

4.1、常规同步操作

1、同步当前目录下所有文件

1
s3cmd sync  ./  s3://my-bucket-name/

2、加 "--dry-run"参数后,仅列出需要同步的项目,不实际进行同步。

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

3、加 " --delete-removed"参数后,会删除本地不存在的文件。

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

4、加 " --skip-existing"参数后,不进行MD5校验,直接跳过本地已存在的文件。

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

4.2、高级同步操作

4.2.1、排除、包含规则(--exclude 、--include)

file1-1.txt被排除,file2-2.txt同样是txt格式却能被包含。

1
2
3
~/demo$ 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

4.2.2、从文件中载入排除或包含规则。(--exclude-from、--include-from)

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

pictures.exclude 文件内容

1
2
3
# Hey, comments are allowed here ;-)
*.jpg
*.gif

4.2.3、排除或包含规则支持正则表达式

1
--rexclude 、--rinclude、--rexclude-from、--rinclude-from

s3cmd的安装与使用的更多相关文章

  1. s3cmd的安装与配置

    安装包链接:http://files.cnblogs.com/files/litao0505/s3.rar 安装S3cmd1. tar -zxf s3cmd-1.0.0.tar.gz2. mv s3c ...

  2. ceph S3客户端操作--s3cmd

    S3 client 访问ceph rgw 安装: yum install s3cmd 验证安装是否成功: $s3cmd --version s3cmd version 1.5.2 #表示安装成功 在c ...

  3. s3cmd 安装使用指南

    https://wangyan.org/blog/s3cmd-how-to-use.html s3cmd 安装使用指南 s3cmd 是一款 Amazon S3 命令行工具.它不仅能上传.下载.同步,还 ...

  4. s3cmd安装

    配置yum.repos cd /etc/yum.repos.d/ vim s3tools.repo [s3tools] name=Tools for managing Amazon S3 - Simp ...

  5. 使用s3cmd操作ceph rgw

    安装1.sudo apt-get install -y python-pip sudo pip install s3cmd 2. sudo apt-get install s3cmd   配置 s3c ...

  6. 迅达云s3cmd客户端mac平台部署说明

    自己根据文档整理了下,在这里记下,免得其他兄弟走弯路. 1 下载最新的s3cmd代码 https://github.com/s3tools/s3cmd/archive/master.zip 2 解压缩 ...

  7. s3cmd用法总结

    概述 S3是亚马逊AWS提供的简单存储服务(可以理解为有公网域名的大容量高可用存储) S3配合CloudFront服务可作为CDN使用,它提供多节点全球发布 安装 方法一: yum install s ...

  8. S3cmd命令行管理对象存储

    我的使用步骤 cd /usr/    目录 git clone https://github.com/jdcloud-cmw/s3cmd.git   下载文件 ln -s /usr/s3cmd/s3c ...

  9. S3cmd

    一:安装方法 #wget http://nchc.dl.sourceforge.net/project/s3tools/s3cmd/1.0.0/s3cmd-1.0.0.tar.gz #tar -zxf ...

随机推荐

  1. protobuf编译报错

    在下载protobuf进行编译的时候会出现如图所示的错误 修改 C:\protobuf-2.4.1\gtest\include\gtest\internal\gtest-tuple.h(C:是我解压p ...

  2. JAVA多线程学习2--线程同步

    一.线程同步介绍 同步:就是协同步调,按照预定的先后顺序执行.比如:你说完我再说. 线程同步:访问同一个共享资源的时候多个线程能够保证数据的安全性.一致性. 二.JAVA中实现线程同步的方法 实现进程 ...

  3. 一款jQuery仿海尔官网全屏焦点图特效代码

    一款jQuery仿海尔官网全屏焦点图特效代码,带有左右箭头的jQuery焦点图切换特效. 当焦点图切换时,下方的三块小图也相对应的进行切换.并且特效还兼容头疼的IE6.赶快去和谐了它吧! 适用浏览器: ...

  4. 重拾C,一天一点点_6

    break与continuecontinue只能用于循环语句goto最常见的用法是终止程序在某些深度嵌套的结构中的处理过程,例如一次跳出两层或多层循环.break只能从最内层循环退出到上一级的循环. ...

  5. js原型链与继承(初体验)

    js原型链与继承是js中的重点,所以我们通过以下三个例子来进行详细的讲解. 首先定义一个对象obj,该对象的原型为obj._proto_,我们可以用ES5中的getPrototypeOf这一方法来查询 ...

  6. rJava配置

    1. 下载安装R-3.1.1-win.exe: 2. 在R中安装rJava > install.packages("rJava") 3. 设置环境变量: PATH:D:\So ...

  7. jquery插件——图片放大器

    用到了JQzoom插件,可以使图片实现放大效果

  8. 对frameset、frame、iframe的js操作

    框架编程概述一个HTML页面可以有一个或多个子框架,这些子框架以<iframe>来标记,用来显示一个独立的HTML页面.这里所讲的框架编程包括框架的自我控制以及框架之间的互相访问,例如从一 ...

  9. HttpWebRequest,HttpWebResponse的用法和用途

    1.用途:HettpWebRequest,HettpWebResponse用途和webServers的作用差不多,都是得到一个页面传过来的值.HttpWebRequest 2.用法:--------- ...

  10. 在eclipse里的 flex 没有可视化的编辑

      注:在4.7版本里去掉了可视化编辑器.   转自:http://3470973.blog.51cto.com/3460973/1135328 最近eclipse切换了一个工作空间,创建的flex项 ...