在windows下使用s3cmd和s3browser来管理amazon s3的笔记
S3是Amazon S3的简称,s3cmd是一款命令行工具用来管理s3,同时还有一款图形化的管理工具:s3 browser。
因为绝大多数用户都是在linux下管理s3,而我们的打包机是在windows上,所以需要在windows下管理s3,本文记录一下踩坑。
S3文档
s3的官方文档:https://s3tools.org/s3cmd
s3cmd下载:https://github.com/s3tools/s3cmd
在windows上的踩坑
有两个选项必须要配置对否则会一直报301错误,导致无法上传和下载,但是s3 ls这条命令是可以用的
就是这两个选项:
signature_v2 = True 这个加密选项如果是False每次上传或下载文件都会报301错误
host_bucket = %(bucket)s.s3.nie.xxx.com ,这个选项如果不对,无法上传或下载
linux下的示例配置文件(windows下的ini配置文件大体类型)
[default]
access_key =
secret_key =
default_mime_type = binary/octet-stream
enable_multipart = True
encoding = UTF-8
encrypt = False
host_base = s3.nie.xxx.com
host_bucket = %(bucket)s.s3.nie.xxx.com
multipart_chunk_size_mb = 30
socket_timeout = 300
stop_on_error = False
use_https = False
use_mime_magic = True
verbosity = WARNING
signature_v2 = True
windows上的s3配置文件在这个目录下(不同于linux):
Configuration saved to 'C:\Users\zhaoqingqing01\AppData\Roaming\s3cmd.ini'
配置文件命令解释
use_mime_magic = True #自动判断上传文件的mime类型
signature_v2 = True # 需要加密
更加详细的解释:https://www.bilibili.com/read/cv6012754
在windows下安装s3cmd
安装步骤:
从github下载s3cmd,需要安装python2,并把python添加到环境变量中
cd到s3cmd所在的目录下,执行:python setup.py install
等待安装完成后,所有的s3cmd命令都可以使用了,但需要cd到s3cmd目录下
注意:在所有命令前都需要加上python,因为是通过python来执行的。
示例:
cd c:\
cd c:\s3cmd
python s3 ls
参考文档:https://docs.e2enetworks.com/guides/s3cmdwindows.html(windows上可以不用安装Gpg4win(加密软件))
s3cmd常用命令
可用的命令列表,见这里的commands部分:https://s3tools.org/usage
上传/同步某个目录 : s3cmd sync LOCAL_DIR s3://BUCKET[/PREFIX] or s3://BUCKET[/PREFIX] LOCAL_DIR,例子:python s3cmd sync "c:/test_res" s3://xxx-dev/game_rsync_res/res
查询桶下面所有的文件: s3cmd ls s3://BUCKET[/PREFIX],例子:s3cmd ls s3://xxx-dev
上传某个文件:python s3cmd put "E:/Temp/test_s3.txt" s3://xxx-dev/
下载某个文件:python s3cmd get s3://xxx-dev/test_s3.txt
FAQ
Q:如何新增文件?
A:往文件夹中新增加文件,然后在同步文件夹时,就会把新文件上传过去
Q:如何删除文件?
A:试过先在文件夹下删除某个文件,然后调用sync,看看远程是否已删除这张图片?
Q:如何更新某张图片?
A:sync指令替换本地的图片就能更到最新
Q:如何切换不同的key?因为开发环境和正式环境的key不一样
A:像linux那样,在每条命结尾使用 -c“xx.ini”
S3存在的问题
通过s3cmd del 删除某个目录后,还可以下载到,不知是否因为有缓存?
把文件夹下的某个文件删除后,通过sync同步文件,还可以下载到删除掉的文件
S3 Browser(可视化管理s3)
除了命令行的方式,在windows下还有一个可视化的的软件,它可以列出某个桶及目录下的所有文件,并且提供可视化的上传和下载操作
使用文档:https://docs.e2enetworks.com/guides/s3browser_windows.html
使用方法如下:
新建一个Account,每项配置如下
Account Type:S3 Compatible Storage
REST Endpoint:s3.nie.xxx.com
不要勾选SSL/TLS和 Encrypt Access Keys
点击左下角打开高级设置,修改Addressing model为Virtual hosted style,然后点击 Save changes

日志保存位置
S3 Browser可以保存每次操作的日志,日志保存位置:%APPDATA%\S3Browser\logs
S3 Browser也提供命令行
首先本地磁盘的路径符需要是\,否则会报Exception
连接遇到问题
如果连接时报错误:Unable to perform requested action,在Edit Account中打开高级设置,修改Addressing model为Virtual hosted style


在windows下使用s3cmd和s3browser来管理amazon s3的笔记的更多相关文章
- windows下运行的linux服务器批量管理工具(带UI界面)
产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...
- windows下 安装gitlab及其相关图形管理工具
windows下 安装gitlab及其相关图形管理工具 在windows下安装git中文版客户端并连接gitlab 下载git Windows客户端 git客户端下载地址:https://gi ...
- windows下搭建Nexus3私服和基于IDEA15的Maven学习笔记
搭建Nexus私服. 首先去官网下载window下用的zip文件.https://www.sonatype.com/download-oss-sonatype. 解压之后包含下面两个文件 进入nexu ...
- 在Windows下使用Git+TortoiseGit+码云管理项目代码
1. 安装Git 下载地址:点击打开链接 安装指南:默认选项即可 2. 安装TortoiseGit 下载地址:点击打开链接 安装指南:点击打开链接 3. 在码云创建账号, ...
- Mac下的类似apt-get的包管理工具Homebrew(笔记)
对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所 ...
- 个人整理的 Windows 下 .NET 开发必装的软件
注: 最后更新时间:2019-03-15 一..NET 开发 1. 必装 软件名称 说明 下载地址 JetBrains Toolbox JetBrins 全家桶管理工具. 下载地址 JetBrains ...
- windows下安装scoop
scoop是windows下的包管理工具,类似与linux下的yum和python的pip. scoop可以在windows下方便的进行软件的管理,尤其是对开发者提供了很大的遍历. cmd下执行如下红 ...
- 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)
相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...
- 让 windows 下的命令行程序 cmd.exe 用起来更顺手
在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...
随机推荐
- Android Studio连接SQLite数据库与SQLite Studio实时同步的实现
最近学习用到了android开发连接数据库这一块,发现连接成功后,都要先访问安卓项目的数据库路径data/data/项目/databases,然后把对应的db文件拷出来,再在SQLite的可视化工具中 ...
- .NET程序设计实验三
实验三 Windows 应用程序开发 一.实验目的 1. 掌握窗口控件的使用方法: 2. 掌握Windows 的编程基础. 二.实验要求 根据要求,编写 C#程序,并将程序代码和运行结果写入实验报告 ...
- vue配置请求转发解决跨域问题
通过nodejs的请求转发到后台,前端地址:http://localhost:8080 后端地址:http://localhost:8081 vue.config.js内容如下: let prox ...
- String和int、long、double等基本数据类型的转换
学习目标: 掌握Java的基本数据类型与String的转换 学习内容: 1.转化规则 String 转 基本数据类型 基本数据类型 变量 = 包装类.Parse基本数据类型(String); // c ...
- LINUX执行shutdown.sh提示:-bash: ./startup.sh: Permission denied
在执行./startup.sh,或者./shutdown.sh的时候,爆出了Permission denied, 其实很简单,就是今天在执行tomcat的时候,用户没有权限,而导致无法执行, 用命令c ...
- 《头号玩家》AI电影调研报告(四)
五. 现实中对于技术的实现 1.自由变身 电影中,主人公借助"魔幻眼镜"让自己快速变成另一个人的模样,现实中我们一样也能做到! 在今年游戏开发者大会(GDC)上,一个名为" ...
- 前端框架小实验-在umi框架中以worker线程方式使用SQL.js的wasm
总述:在Win7环境下配置umijs框架,在框架中用worker线程方式使用SQL.js的wasm,在浏览器端实现数据的增删改查以及数据库导出导入. 一.安装node.js 1.Win7系统只支持no ...
- 实际业务处理 Kafka 消息丢失、重复消费和顺序消费的问题
关于 Kafka 消息丢失.重复消费和顺序消费的问题 消息丢失,消息重复消费,消息顺序消费等问题是我们使用 MQ 时不得不考虑的一个问题,下面我结合实际的业务来和你分享一下解决方案. 消息丢失问题 比 ...
- Mybatis映射文件动态SQL语句-02
foreach UserMapper.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...
- victoriaMetrics之byteBuffer
victoriaMetrics之byteBuffer VictoriaMetrics经常会处理数目庞大的指标,在处理的过程中会涉及指标的拷贝,如果在指标拷贝时都进行内存申请的话,其内存消耗和性能损耗都 ...