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. 最小栈问题:题目描述:设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。

    MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.get ...

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

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

  3. Linux---远程连接、命令行基础、文件及目录管理

    远程连接管理Linux实践(centos) 连接小知识 IP地址:访问连接服务器,需要通过服务器的IP地址来实现,服务器的IP地址就相当于服务器的具体地址.一计算机都会有一个唯一的32位的IP地址,8 ...

  4. 安卓记账本开发学习day10

    完成了最后一部分功能 1.柱状分析每月的支出或收入 2. 删除所有记录

  5. 记录,element ui的日期选择器只有第一次回显成功

    首先是这个 <el-date-picker v-model="value1" type="daterange" range-separator=" ...

  6. 多行,溢出隐藏 css

     .ellipsis-line{width:200px; line-height:18px;font-size:14px; overflow:hidden; text-overflow:ellipsi ...

  7. vue--vuex 中 Modules 详解

    前言 在Vue中State使用是单一状态树结构,应该的所有的状态都放在state里面,如果项目比较复杂,那state是一个很大的对象,store对象也将对变得非常大,难于管理.于是Vuex中就存在了另 ...

  8. vue 实现高德坐标转GPS坐标

    vue 实现高德坐标转GPS坐标 首先介绍一下常见的几种地图的坐标类型: WGS-84:这是一个国际标准,也就是GPS坐标(Google Earth.或者GPS模块采集的都是这个类型). GCJ-02 ...

  9. PostgreSQL 锁 之 关系级锁

    1.关于锁的基本信息 PostgreSQL 有各种各样的技术来锁定某些东西(或者至少是这样称呼的).因此,我将首先用最笼统的术语解释为什么需要锁,可用的锁类型以及它们之间的区别.然后我们将弄清楚 Po ...

  10. Solon 1.7 重要发布,更现代感的应用开发框架

    相对于 Spring Boot 和 Spring Cloud 的项目 启动快 5 - 10 倍 qps 高 2- 3 倍 运行时内存节省 1/3 ~ 1/2 打包可以缩小到 1/2 ~ 1/10(比如 ...