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. python-你好

    你的程序会读入一个名字,比如John,然后输出"Hello John". 输入格式: 一行文字. 输出格式: 一行文字. 输入样例: Mary Johnson 输出样例: Hell ...

  2. audio小记

    写H5活动页的需要音频,图标旋转停止保持当时的旋转角度,这样视觉体验效果好: 之前写法是点击pause()就直接停止动画,后来发现了animation有个比较好的属性animation-play-st ...

  3. SLF4J 报错解决:No SLF4J providers were found

    1.解决SLF4J报错 我们在自己的项目中使用了SLF4J,或者引入了某开源项目时,他的项目中用了SLF4J,运行时会报如下的错误: SLF4J: Failed to load class " ...

  4. 面试官:说一说Zookeeper中Leader选举机制

    哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 今天又是一个阳光明媚的一天,我又 ...

  5. Grafana中文汉化

    可视化图表 Grafana是一个通用的可视化工具.通过Grafana可以管理用户权限,数据分析,查看,导出,设置告警等. 仪表盘Dashboard 通过数据源定义好可视化的数据来源之后,对于用户而言最 ...

  6. Hoo Smart Chain 万物生长计划火热报名中,可视化公链迸发勃勃生机

    在DeFi越来越趋向同质化和静态化时,Hoo Smart Chain决定充当破局者,宣布决定All In元宇宙,并于2022年3月份开启面向全球去中心化开发者的奖励计划--「万物生长计划」 目前Ter ...

  7. C++逆向 可变参数Hook

    目录 C++逆向 可变参数Hook 0x00 前言: 0x01 C++可变参数: 可变参数简介 可变参数代码实战 0x02 逆向分析C++可变参数原理 0x03 printf Hook实战 Pwn菜鸡 ...

  8. C# 一维数组如何快速实现数组元素的数据类型的转换?

    一.场景假设 假设有一串字符串如下所示,字符串中的数字之间已用英文状态下的逗号隔开.要求用此字符串中的数字快速生成int类型的数组,且尽可能使用最少的代码量. string str = "1 ...

  9. [STL] map 映射

  10. python mysqldb 报错: ProgrammingError: must be real number, not str 解决

    代码: sql = 'insert into book(book_name,book_desc,origin_price,publish_id,tag_id,book_img) values(%s,% ...