COSCLI 使用实践 - 同步网站附件

2022-05-12 09:57:01 浏览数 (1)

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,当使用临时密钥时需要配置,若不使用可以直接按 Enter 跳过。

APP ID

APP ID 是您在成功申请腾讯云账户后所得到的账号,由系统自动分配,可从 账号信息 中获取。

Bucket Name

存储桶名称,如:example-1234567890

Bucket Region

存储桶所在地域,详情请参见 地域与访问域名。

Bucket Alias

存储桶别名,配置后可以在使用时用BucketAlias代替BucketName-APPID,减少所需输入的命令长度,如果不配置此项,BucketAlias的值是BucketName-APPID的值。

image.pngimage.png

使用

这里我使用 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
image.pngimage.png

总结

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官方组建并运营的技术开发者群体。里有最专业的开发者&客户,能与产品人员亲密接触,专有的问题&需求反馈渠道,有一群志同道合的兄弟姐妹,期待您的加入!

0 人点赞