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

安装步骤:

  1. 从github下载s3cmd,需要安装python2,并把python添加到环境变量中

  2. cd到s3cmd所在的目录下,执行:python setup.py install

  3. 等待安装完成后,所有的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

官网:S3 Browser - Online help for Browser - Freeware client for Amazon S3. Amazon S3 bucket browser. S3 Client.

使用方法如下:

新建一个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的笔记的更多相关文章

  1. windows下运行的linux服务器批量管理工具(带UI界面)

    产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...

  2. windows下 安装gitlab及其相关图形管理工具

    windows下 安装gitlab及其相关图形管理工具   在windows下安装git中文版客户端并连接gitlab   下载git Windows客户端 git客户端下载地址:https://gi ...

  3. windows下搭建Nexus3私服和基于IDEA15的Maven学习笔记

    搭建Nexus私服. 首先去官网下载window下用的zip文件.https://www.sonatype.com/download-oss-sonatype. 解压之后包含下面两个文件 进入nexu ...

  4. 在Windows下使用Git+TortoiseGit+码云管理项目代码

    1.      安装Git 下载地址:点击打开链接 安装指南:默认选项即可 2.      安装TortoiseGit 下载地址:点击打开链接 安装指南:点击打开链接 3.      在码云创建账号, ...

  5. Mac下的类似apt-get的包管理工具Homebrew(笔记)

    对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所 ...

  6. 个人整理的 Windows 下 .NET 开发必装的软件

    注: 最后更新时间:2019-03-15 一..NET 开发 1. 必装 软件名称 说明 下载地址 JetBrains Toolbox JetBrins 全家桶管理工具. 下载地址 JetBrains ...

  7. windows下安装scoop

    scoop是windows下的包管理工具,类似与linux下的yum和python的pip. scoop可以在windows下方便的进行软件的管理,尤其是对开发者提供了很大的遍历. cmd下执行如下红 ...

  8. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  9. 让 windows 下的命令行程序 cmd.exe 用起来更顺手

    在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...

随机推荐

  1. Android Studio连接SQLite数据库与SQLite Studio实时同步的实现

    最近学习用到了android开发连接数据库这一块,发现连接成功后,都要先访问安卓项目的数据库路径data/data/项目/databases,然后把对应的db文件拷出来,再在SQLite的可视化工具中 ...

  2. .NET程序设计实验三

    实验三  Windows 应用程序开发 一.实验目的 1. 掌握窗口控件的使用方法: 2. 掌握Windows 的编程基础. 二.实验要求 根据要求,编写 C#程序,并将程序代码和运行结果写入实验报告 ...

  3. vue配置请求转发解决跨域问题

    通过nodejs的请求转发到后台,前端地址:http://localhost:8080   后端地址:http://localhost:8081 vue.config.js内容如下: let prox ...

  4. String和int、long、double等基本数据类型的转换

    学习目标: 掌握Java的基本数据类型与String的转换 学习内容: 1.转化规则 String 转 基本数据类型 基本数据类型 变量 = 包装类.Parse基本数据类型(String); // c ...

  5. LINUX执行shutdown.sh提示:-bash: ./startup.sh: Permission denied

    在执行./startup.sh,或者./shutdown.sh的时候,爆出了Permission denied, 其实很简单,就是今天在执行tomcat的时候,用户没有权限,而导致无法执行, 用命令c ...

  6. 《头号玩家》AI电影调研报告(四)

    五. 现实中对于技术的实现 1.自由变身 电影中,主人公借助"魔幻眼镜"让自己快速变成另一个人的模样,现实中我们一样也能做到! 在今年游戏开发者大会(GDC)上,一个名为" ...

  7. 前端框架小实验-在umi框架中以worker线程方式使用SQL.js的wasm

    总述:在Win7环境下配置umijs框架,在框架中用worker线程方式使用SQL.js的wasm,在浏览器端实现数据的增删改查以及数据库导出导入. 一.安装node.js 1.Win7系统只支持no ...

  8. 实际业务处理 Kafka 消息丢失、重复消费和顺序消费的问题

    关于 Kafka 消息丢失.重复消费和顺序消费的问题 消息丢失,消息重复消费,消息顺序消费等问题是我们使用 MQ 时不得不考虑的一个问题,下面我结合实际的业务来和你分享一下解决方案. 消息丢失问题 比 ...

  9. Mybatis映射文件动态SQL语句-02

    foreach UserMapper.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...

  10. victoriaMetrics之byteBuffer

    victoriaMetrics之byteBuffer VictoriaMetrics经常会处理数目庞大的指标,在处理的过程中会涉及指标的拷贝,如果在指标拷贝时都进行内存申请的话,其内存消耗和性能损耗都 ...