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-正整数的因子展开式

    [题目描述]编写程序,输出一个给定正整数x(x>1)的质因子展开式. [输入格式]请在一行中输入整数x的值. [输出格式]对每一组输入的x,按以下格式输出x的质因子展开式(假如x的质因子分别为a ...

  2. 关于#pragma 和 _pragma

    首先要明确 #pragma 和_Pragma 是什么 这两个都是出自于c/c++ 的 ,其中#pragma 是预处理指令(preProcess directive ) ,#pragma是用来向编译器传 ...

  3. springboot+maven实现模块化编程

    1.创建新项目repo-modele 2.右键Repo_modele -> New -> Module-->next 分别创建bs-web,bs-service,bs-entity, ...

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

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

  5. linux下elf二进制文件怎么回事(ls,vmstat等命令)

    这个实验有两个目的: 1.linux的可执行命令例如:ls .cd等都是二进制elf格式文件等,后面的逻辑是什么,我们怎么窥探底层内容. 2.ELF可执行文件默认从地址0x080480000开始分配 ...

  6. eBPF Cilium实战(2) - 底层网络可观测性

    在之前的平台中,对于组件之间的网络流向不具备直接的可观测性,用户组件间通信出现问题,只能通过传统命令行工具进行手动排查,而 cilium 的 Hubble 服务可以提供 UI 界面向用户展示实时的流量 ...

  7. go sync.map源码解析

    go中的map是并发不安全的,同时多个协程读取不会出现问题,但是多个协程 同时读写就会出现 fatal error:concurrent map read and map write的错误.通用的解决 ...

  8. vue学习day01

    什么是 vue 构建用户界面 用 vue 往 html 页面中填充数据,非常的方便 框架 框架是一套现成的解决方案,程序员只能遵守框架的规范,去编写自己的业务功能! 要学习 vue,就是在学习 vue ...

  9. partOneJava学习卷土重来-----第一次测试题目介绍

    石家庄铁道大学2021年秋季   2020 级课堂测试试卷(一)(15分) 课程名称: JAVA语言程序设计  任课教师: 王建民        考试时间: 150 分钟 一.考试要求: 1.按照测试 ...

  10. Glade To Code 介绍

    Glade To Code 简介 根据 Glade 文件生成指定语言的 GTK 代码的工具 使用说明 python3 glade-to-code.py -l [语言类型] -i [输入 Glade 文 ...