COSCLI 是腾讯云对象存储(Cloud Object Storage,COS)提供的客户端命令行工具。通过 COSCLI 工具,您可以通过简单的命令行指令对您 COS 中的对象(Object)实现批量上传、下载、删除等操作。
COSCLI 使用 Go 编写,基于 Cobra 框架,支持配置多个存储桶和跨桶操作。相比其它工具,COSCLI 是单文件,不依赖其它库,下载后无需安装即可直接使用。
下载
1.下载文件,保存为 coscli
代码语言:shell复制sudo wget -O /usr/local/bin/coscli https://cosbrowser.cloud.tencent.com/software/coscli/coscli-linux
2.修改权限
代码语言:shell复制sudo chmod 755 /usr/local/bin/coscli
配置
我用 coscli 是用来同步网站文件,WEB 对应的 用户是 www,所以用 www 用户来初始化配置
初始化配置
代码语言:shell复制sudo -u www coscli config init
配置项 | 说明 |
---|---|
Secret ID | 密钥 ID,可从 访问管理控制台 中创建并获取。 |
Secret Key | 密钥 Key,可从 访问管理控制台 中创建并获取。 |
Session Token | 临时密钥 token,当使用临时密钥时需要配置,若不使用可以直接按 |
APP ID | APP ID 是您在成功申请腾讯云账户后所得到的账号,由系统自动分配,可从 账号信息 中获取。 |
Bucket Name | 存储桶名称,如: |
Bucket Region | 存储桶所在地域,详情请参见 地域与访问域名。 |
Bucket Alias | 存储桶别名,配置后可以在使用时用BucketAlias代替BucketName-APPID,减少所需输入的命令长度,如果不配置此项,BucketAlias的值是BucketName-APPID的值。 |
使用
这里我使用 coscli
的需求是同步网站与cos里的文件,所以这里演示使用 coscli
来同步文件。
coscli sync
命令用于同步上传、下载或拷贝文件,它首先会对比同名文件的 crc64
,如果 crc64
值相同则不进行传输。
语法
代码语言:txt复制./coscli sync <源路径> <目标路径> [flag]
我服务器存放网站附件的目录是 /home/wwwroot/ll00.cn/uploads
,cos 上对应的路径是 /files
,Nginx 的用户是 www
。
在服务器上创建附件目录,如果已创建可以跳过。
代码语言:txt复制sudo -u www mkdir /home/wwwroot/ll00.cn/uploads
执行同步命令
代码语言:txt复制cd /home/wwwroot/ll00.cn
sudo -u www coscli sync cos://cos-1251274180/files ./uploads -r
总结
coscli 工具很轻便,安装简单,能满足基本使用。但还有不完善的地方,例如权限不足的时候,会提示 No such file or directory
,而不是 Permission denied
。
目前就发现这一个坑,已提交给开发团队进行完善,目前大家使用的时候可以注意下。
如果有对 coscli 的改进建议,也可以通过用户之声 - COS给开发团队提意见。
对于 coscli 的更多信息,可以查阅文档:https://cloud.tencent.com/document/product/436/63143
最后的最后,还有一个福利。开发者们,欢迎您加入腾云先锋(TDP)反馈交流群,群内有丰富的活动可收获积分和成长值,兑换惊喜福利。加入方式:https://cloud.tencent.com/developer/article/1855195
我们是腾云先锋(TDP)团队,是腾讯云GTS官方组建并运营的技术开发者群体。里有最专业的开发者&客户,能与产品人员亲密接触,专有的问题&需求反馈渠道,有一群志同道合的兄弟姐妹,期待您的加入!