s3cmd的安装与使用
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 |
wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | sudo apt-key add - |
方法二:
1 |
wget http://nchc.dl.sourceforge.net/project/s3tools/s3cmd/1.0.0/s3cmd-1.0.0.tar.gz |
二、使用方法
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 |
~/demo$ s3cmd put -r dir1 s3://my-bucket-name/ |
2)带"/"斜杠的 dir1,相当于上传dir1目录下的所有文件,即类似 "cp ./* "
1 |
~/demo$ s3cmd put -r dir1/ s3://my-bucket-name/ |
四、同步方法
这是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 |
~/demo$ s3cmd sync --dry-run --exclude '*.txt' --include 'dir2/*' ./ s3://my-bucket-name/ |
4.2.2、从文件中载入排除或包含规则。(--exclude-from、--include-from)
1 |
s3cmd sync --exclude-from pictures.exclude ./ s3://my-bucket-name/ |
pictures.exclude 文件内容
1 |
# Hey, comments are allowed here ;-) |
4.2.3、排除或包含规则支持正则表达式
1 |
--rexclude 、--rinclude、--rexclude-from、--rinclude-from |
s3cmd的安装与使用的更多相关文章
- s3cmd的安装与配置
安装包链接:http://files.cnblogs.com/files/litao0505/s3.rar 安装S3cmd1. tar -zxf s3cmd-1.0.0.tar.gz2. mv s3c ...
- ceph S3客户端操作--s3cmd
S3 client 访问ceph rgw 安装: yum install s3cmd 验证安装是否成功: $s3cmd --version s3cmd version 1.5.2 #表示安装成功 在c ...
- s3cmd 安装使用指南
https://wangyan.org/blog/s3cmd-how-to-use.html s3cmd 安装使用指南 s3cmd 是一款 Amazon S3 命令行工具.它不仅能上传.下载.同步,还 ...
- s3cmd安装
配置yum.repos cd /etc/yum.repos.d/ vim s3tools.repo [s3tools] name=Tools for managing Amazon S3 - Simp ...
- 使用s3cmd操作ceph rgw
安装1.sudo apt-get install -y python-pip sudo pip install s3cmd 2. sudo apt-get install s3cmd 配置 s3c ...
- 迅达云s3cmd客户端mac平台部署说明
自己根据文档整理了下,在这里记下,免得其他兄弟走弯路. 1 下载最新的s3cmd代码 https://github.com/s3tools/s3cmd/archive/master.zip 2 解压缩 ...
- s3cmd用法总结
概述 S3是亚马逊AWS提供的简单存储服务(可以理解为有公网域名的大容量高可用存储) S3配合CloudFront服务可作为CDN使用,它提供多节点全球发布 安装 方法一: yum install s ...
- S3cmd命令行管理对象存储
我的使用步骤 cd /usr/ 目录 git clone https://github.com/jdcloud-cmw/s3cmd.git 下载文件 ln -s /usr/s3cmd/s3c ...
- S3cmd
一:安装方法 #wget http://nchc.dl.sourceforge.net/project/s3tools/s3cmd/1.0.0/s3cmd-1.0.0.tar.gz #tar -zxf ...
随机推荐
- lighttpd的超时参数详解
今天服务器上传大文件,服务器php一直没有响应,响应为0KB,经排查发现是lighttpd的超时设置问题 server.max-keep-alive-idle = 5server.max-read-i ...
- hibernate 知识梳理
一.hibernate背景介绍: 作者: Gavin King 分hibernate ORM(for relation db),OGM(for nosql db),hearch,validator,t ...
- jeecms获取栏目标题图
[@cms_channel id='1'] <img src="${tag_bean.titleImg!site.typeImg}" /> [/@cms_channel ...
- [转]PHP中fopen,file_get_contents,curl的区别
1. fopen /file_get_contents 每次请求都会重新做DNS查询,并不对 DNS信息进行缓存.但是CURL会自动对DNS信息进行缓存.对同一域名下的网页或者图片的请求只 ...
- Sending Email from mailx Command in Linux Using Gmail’s SMTP
The mailx or mail command in Linux is still providing service for guys like me, especially when we n ...
- vc列表控件的初始化
void CManageProcessDlg::InitList() { m_ListProcess.SetExtendedStyle(m_ListProcess.GetExtendedStyle( ...
- Linux之父Linus Torvalds:讨厌C++
"Linux内核的创始人Linus Torvalds最近在一封邮件中说明了内核开发需要使用C语言而非C++的理由.在庞大的项目中,人们对不是自己开发的模块并不了解,能快速理解其他模块中函数的 ...
- ThinkPHP中initialize和construct调用父类的区别
http://blog.topok.net/archives/142 需要加parent::_initialize();
- PHP前端$.ajax传递数据到后台
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- Cocos2D 指定文件夹创建项目
参考http://www.cnblogs.com/skynet/p/3428369.html 通过下面的一些改造,可以让新建的cocos2d-x项目独立于cocos2d-x引擎目录: 1) 将 ...