腾讯云 COS-CLI 工具入门 ,解决一点小坑 home 编辑时间 2022/12/14 ![](/api/file/getImage?fileId=63998e6bda7405001301903a) ## 前言 当时研究的太投入也太顺利 导致研究完了,全部跑通了 发现笔记一个字还没写。。。 所以本篇文章只能靠记忆和history大概写写 需求是这样的 在centos系统下,用命令行上传或下载文件 比如用shell脚本每天自动 7zip压缩log日志 然后自动上传cos 并删除本地文件 或者mysql每日备份并自动上传cos等 在linux下有很多工具可以实现这个需求 新的cos-cli 优势是用go写的 支持3系统 且目测是有更低的资源消耗 更低的系统环境要求和入侵 参考资料 [https://cloud.tencent.com/document/product/436/63143](https://cloud.tencent.com/document/product/436/63143) [https://github.com/tencentyun/coscli/releases](https://github.com/tencentyun/coscli/releases) ## 折腾 **下载cos-cli文件,并放置到服务器** https://github.com/tencentyun/coscli/releases 这部分过于简单 省略了 ... 放置到服务器任意位置后需要改名改权限 ```shell # 改名 改权限 mv coscli-linux coscli chmod 755 coscli ``` 先试试help 能看到下面这些内容说明可以成功运行 ```shell # 看看help ./coscli -h Welcome to use coscli! Usage: coscli [flags] coscli [command] Available Commands: abort Abort parts bucket-tagging Modify bucket tagging config Init or edit config file cp Upload, download or copy objects du Displays the size of a bucket or objects hash Calculate local file's hash-code or show cos file's hash-code help Help about any command ls List buckets or objects lsparts List multipart uploads mb Create bucket rb Remove bucket restore Restore objects rm Remove objects signurl Gets the signed download URL sync Synchronize objects Flags: -c, --config-path string config file path(default is $HOME/.cos.yaml) -e, --endpoint string config endpoint -h, --help help for coscli -i, --secret-id string config secretId -k, --secret-key string config secretKey -t, --session-token string config sessionToken -v, --version version for coscli Use "coscli [command] --help" for more information about a command. ``` 官网有一句关键的提示 `初次使用时,COSCLI 会默认在 ~/.cos.yaml 的位置生成配置文件,后续您也可以使用 ./coscli config init 命令在其他位置为 COSCLI 交互式地生成配置文件。` 建议用交互式命令来创建配置文件 ```shell # 根据提示填写即可 ./coscli config init ``` 生成完打开看下,我这里给个参考 我地区是上海,你可以选择你自己服务器对应的区域,相同区域可以内网连接(全自动) **后面有没有报错,就是看这个配置文件 里面XXX的部分换成你自己的,sessiontoken是Init命令的时候生成的 alias是别名你随便起** ```yaml cos: base: secretid: xxx secretkey: xxx sessiontoken: xxx protocol: https buckets: name: xxx alias: alias region: ap-shanghai endpoint: cos.ap-shanghai.myqcloud.com ``` 最后试下上传文件 注意:如果你前面一路是跟着教程走的,配置文件目录是 `~/.cos.yaml` 我个人喜欢把程序和配置文件放在一起,所以把配置文件复制到了当前同目录下,并改名为 `config.yaml` ,所以我每条命令结尾都要带 `-c config.yaml` ,如果你用默认配置文件路径,就可以不带这个 **aliasxxx是你前面配的name或者alias二选一** ```shell ./coscli cp /etc/nginx/logs/access.tar.gz cos://aliasxxx/nginx/logs/access.tar.gz -c config.yaml ``` 不报错 看到100% 就上传成功了 cos每个月可以有一定的免费额度 可以开私有桶用于备份 或者转移日志到日志分析的服务器 ## END 本地开发环境建议用 COSBrowser 图形化查看 [https://cloud.tencent.com/document/product/436/11366](https://cloud.tencent.com/document/product/436/11366) 送人玫瑰,手留余香 赞赏 Wechat Pay Alipay 2023 免费对象存储 OSS CDN 推荐 省钱攻略 地表最强AI ChatGPT 账号注册 & Java API接入