CentOS系统安装、配置及使用腾讯云COS对象存储命令行工具COSCMD

  

COSCMD命令,COS上传,云存储,对象存储,腾讯云COS,CentOS系统安装、配置及使用腾讯云COS对象存储命令行工具COSCMD
COSCMD工具安装需要Python2.7+及pip,安装请参照以下文章
centos系统升级yum默认安装的Python2.6至2.7版
CentOS系统Python2.7安装最新版pip

然后使用以下命令安装COSCMD

1
pip install -I requests==2.9 && pip install coscmd && pip install coscmd -U

安装如果报错存在requests的情况使用以下命令安装

1
pip install -I requests==2.9

配置命令:

1
coscmd config -a AChT4ThiXAbpBDEFGhT4ThiXAbp**** -s WE54wreefvds3462refgwewe**** -b configure-bucket-1250000000 -r ap-chengdu

配置后会生成一个配置文件/root/.cos.conf 如果配置参数有误,也可以通过vi修改该文件
如何获取腾讯云COS对象存储的SecretId和SecretKey?
登录腾讯云控制台后,访问以下地址https://console.cloud.tencent.com/cam/capi,左下角位置如下图所示
COSCMD命令,COS上传,云存储,对象存储,腾讯云COS,CentOS系统安装、配置及使用腾讯云COS对象存储命令行工具COSCMD

参数说明:

选项 参数说明 有效值 是否必选
-a 密钥 ID 请前往 API 密钥控制台 获取 字符串
-s 密钥 Key 请前往 API 密钥控制台 获取 字符串
-t 临时密钥 token,当使用临时密钥时需要配置,设置 x-cos-security-token 头部 字符串
-b 指定的存储桶名称,存储桶的命名格式为 BucketName-APPID,请参见 命名规范。初次配置使用时,您需要在 COS 控制台创建一个存储桶,用于配置工具 字符串
-r 存储桶所在地域,请参见 地域和访问域名 字符串
-e 设置请求的 ENDPOINT,设置 ENDPOINT 参数后,REGION 参数会失效。当您使用的是默认域名,则此处配置格式为

1
cos.<region>.myqcloud.com

;当您使用全球加速域名,则配置为

1
cos.accelerate.myqcloud.com
字符串
-m 多线程操作的最大线程数(默认为5,范围为1 - 30) 数字
-p 分块操作的单块大小(单位MB,默认为1MB,范围为1 - 1000) 数字
--do-not-use-ssl 使用 HTTP 协议,而不使用 HTTPS 字符串
--anonymous 匿名操作(不携带签名) 字符串

上传文件

1
2
3
4
5
6
7
8
9
10
11
12
#命令格式
coscmd upload <localpath> <cospath>
#操作示例
#将 D 盘的 picture.jpg 文件上传到 COS 的 doc 目录下
coscmd upload D:/picture.jpg doc/
#将 D 盘的 doc 文件夹下的 picture.jpg 文件上传到 COS 的 doc 目录下
coscmd upload D:/doc/picture.jpg doc/
#指定头部上传文件
#指定对象类型,上传一个归档类型的文件到 COS 的 doc 目录下
coscmd upload D:/picture.jpg doc/ -H "{'x-cos-storage-class':'Archive'}"
#设置 meta 元属性
coscmd upload D:/picture.jpg doc/ -H "{'x-cos-meta-example':'example'}"

上传文件夹

1
2
3
4
5
6
7
8
9
10
11
12
#命令格式
coscmd upload -r <localpath> <cospath>
#操作示例-将 D 盘的 doc 文件夹及其文件上传到 COS 根路径
coscmd upload -r D:/doc /
#例如上传到 cos 的 doc 路径下
coscmd upload -r D:/doc doc
#同步上传,跳过 md5 相同的文件
coscmd upload -rs D:/doc doc
#同步上传,并删除 “D 盘 doc 文件夹中已经删除的文件”
coscmd upload -rs --delete D:/doc /
# D 盘 doc 文件夹中 .txt 和 .doc 的后缀文件选择忽略上传
coscmd upload -rs D:/doc / --ignore *.txt,*.doc

上传命令说明:

(1)请将 "<>" 中的参数替换为您需要上传的本地文件路径(localpath),以及 COS 上存储的路径(cospath)。
(2)当上传大于10MB的文件,COSCMD 即采用分块上传方式,命令用法和简单上传一致,即coscmd upload
(3)COSCMD 支持大文件断点上传功能;当分块上传大文件失败时,重新上传该文件只会上传失败的分块,而不会从头开始(请保证重新上传的文件的目录以及内容和上传的目录保持一致)。
(4)COSCMD 分块上传时会对每一块进行 MD5 校验。
(5)COSCMD 上传默认会携带 x-cos-meta-md5 的头部,值为该文件的 md5 值。
(6)使用 -s 参数可以使用同步上传,跳过上传 md5 一致的文件(COS 上的原文件必须是由 1.8.3.2 版本之后的 COSCMD 上传的,(7)默认带有 x-cos-meta-md5 的 header)。
(8)使用 -H 参数设置 HTTP header 时,请务必保证格式为 JSON,示例:coscmd upload -H "{'x-cos-storage-class':'Archive','Content-Language':'zh-CN'}" 。更多头部可参见 PUT Object 文档。
(9)在上传文件夹时,使用--ignore参数可以忽略某一类文件,支持 shell 通配规则,支持多条规则,用逗号,分隔。当忽略一类后缀时,必须最后要输入, 或者加入""。
(10)目前只支持上传最大40TB的单一文件。

查询文件

#命令格式

1
2
3
4
5
6
7
8
9
coscmd list <cospath>
#操作示例
coscmd list doc/
#递归查询该存储桶下所有的文件列表、文件数量和文件大小
coscmd list -ar
#递归查询 examplefolder 前缀的所有文件列表
coscmd list examplefolder/ -ar
#查询该存储桶下所有文件的历史版本
coscmd list -v

下载文件/文件夹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#命令格式
coscmd download <cospath> <localpath>
#操作示例
coscmd download doc/ D:/
coscmd download doc/folder/ D:/
#下载一个带有版本 ID 的 picture.jpg 文件到 D盘
coscmd download picture.jpg --versionId MTg0NDUxMzc2OTM4NTExNTg7Tjg D:/

#命令格式
coscmd download -r <cospath> <localpath>
#操作示例
coscmd download -r doc D:/
coscmd download -r doc D:/folder/
#下载根目录文件,但跳过根目录下的 doc 目录
coscmd download -r / D:/ --ignore doc/*
#覆盖下载当前存储桶根目录下所有的文件
coscmd download -rf / D:/examplefolder/
#同步下载当前 bucket 根目录下所有的文件,跳过 md5校验相同的文件
coscmd download -rs / D:/examplefolder
#同步下载当前 bucket 根目录下所有的文件,同时删除“云上删除但本地未删除的文件”
coscmd download -rs --delete / D:/examplefolder
#忽略 .txt 和 .doc 的后缀文件
coscmd download -rs / D:/examplefolder --ignore *.txt,*.doc

账号密码登录