使用Rclone访问腾讯云COS教程

Rclone可以方便的在两个不同存储之间同步文件,源和目的包括本地存储、Amazon S3、Tencentyun COS、Alibaba OSS、Ceph、Google Drive、Dropbox等。

主要功能

  • MD5/SHA1进行文件的完整性校验(对于S3存储,通过MD5)
  • 保存文件的修改时间(对于S3存储,通过x-amz-meta-mtime元信息)
  • Copy模式只拷贝新增和变化的文件
  • Sync模式使得目的和源文件夹完全一样
  • Check模式通过文件hash校验一致性
  • 可以通过网络,跨越存储和不同账号同步数据
  • fuse挂载
  • 多线程数据下载

安装:

linux下可以使用执行脚本命令安装:

curl https://rclone.org/install.sh | sudo bash

windows下可以下载rclone-v1.49.5-windows-amd64.zip安装包,解压后,将路径添加到Path环境变量中(高级系统设置->环境变量->系统变量)

配置

编辑配置文件linux:~/.config/rclone/rclone.conf,windows:C:\Users\test_user\.config\rclone.conf:

[cos]
type = s3 # s3后端存储类型
provider = Other
env_auth = false # 不从环境变量中获取密钥
access_key_id = AKIDXXXXXXXXXXXXXX # 腾讯云的secretId
secret_access_key = YYYYYYYYYYYYYYYYYYY # 腾讯云的secretKey
endpoint = cos.ap-guangzhou.myqcloud.com # COS的域名

也可以通过执行rclone config,按照提示生成上面的配置文件

命令使用实例

  • rclone lsd cos:, 查看广州地域存储桶
  • rclone mkdir cos:rclone-test-1251668577,创建存储桶rclone-test-1251668577
  • rclone sync local-folder/ cos:rclone-test-1251668577/storage,将本地local-folder下的文件同步到存储桶的/storage目录下,该操作会将/storage下的所有其他文件删除掉
  • rclone ls cos:rclone-test-1251668577,列出rclone-test-1251668577根目录下的文件
  • rclone copy local-folder/ cos:rclone-test-1251668577/,拷贝本地文件或目录到COS上,不会删除目的端的其他文件
  • rclone copy cos:rclone-test-1251668577 cos:rclone-test-backup-1251668577,同一个存储,在服务端使用copy操作拷贝文件
  • rclone sync local-folder/ cos:rclone-test-1251668577/ --backup-dir cos:rclone-test-backup-1251668577/20191011,将本地文件同步到cos,并备份被删除或修改的文件到备份存储桶中
  • rclone copy --max-age 24h --progress --no-traverse local-folder/ cos:rclone-test-1251668577/--max-age 24h过滤出来最近24小时变更过的文件,--progress显示拷贝进度,--no-traverse在从源拷贝少量文件到目的中大量目的文件时,速度会更快
  • rclone check local-folder/ cos:rclone-test-1251668577/ --one-way,查看本地文件是否都同步到了目的端,默认校验修改时间和大小
  • rclone --min-size 500B lsl cos:rclone-test-1251668577/,查看存储桶中500B以上的文件列表
  • rclone --dry-run --min-size 300B delete cos:rclone-test-1251668577/,查看存储桶中500B以上的待删除文件列表
  • rclone delete oss:oss-test-bucket-1215715707/ --include=/stl-views.gdb,删除根目录下的stl-views.gdb文件,如果不带/前缀,则会删除所有stl-views.gdb文件
  • rclone size cos:rclone-test-1251668577/,查看存储桶中对象数目和占用的空间大小
  • rclone mount cos:rclone-test-1251668577/ rclone-mnt/,将cos挂载成一个本地文件系统
  • rclone ncdu cos:rclone-test-1251668577/,一个简易文本形式的文件浏览器,用于存储桶中的文件浏览、文件和文件夹删除等操作
  • rclone cat cos:rclone-test-1251668577/test.cpp --head 10,输出test.cpp的前10个字节
  • echo "hello world" |rclone rcat cos:rclone-test-1251668577/rcat.txt将标准输出复制到存储桶的rcat.txt文件中,会覆盖目标文件
  • rclone sync oss:oss-test-bucket-1215715707/ cos:rclone-test-1251668577/ -P,同步oss存储桶中的数据到cos存储桶中,-P选项显示进度
  • rclone check oss:oss-test-bucket-1215715707/ cos:rclone-test-1251668577/ -P,进行数据对比校验
  • rclone md5sum cos:rclone-test-1251668577/,为所有文件生成MD5值
  • rclone tree cos:rclone-test-1251668577/ -C -D,显示文本格式的目录树结构,-C选项带颜色显示,-D显示上次修改时间

常用命令

  • rclone copy source:path dest:path,从源文件拷贝到目的,不会删除目的的文件,会跳过未变更的文件,基于大小和修改时间或MD5值判断是否变更过。
  • rclone sync source:path dest:path,将目的文件夹同步成和原文件夹完成相同,会删除目的文件夹中的其他文件,可以先用--dry-run参数运行,查看哪些文件会被删除和变更。
  • rclone move source:path dest:path ,移动文件夹,对于少量文件移动到有大量文件的目的,可以使用--no-traverse参数加速。
  • rclone purge remote:path,删除path及其中的所有内容。
  • rclone mkdir remote:path [flags],如果路径不存在,则创建
  • rclone rmdir remote:path [flags] ,删除空的存储桶,如果存储桶非空,可以使用rclone purge
  • rclone check source:path dest:path [flags],根据文件大小以及hash值对源和目的进行校验(md5和sha1),--size-only只对比大小;--download下载下来对比;--one-way,根据源端的数据列表对比; --checksum ,进行size, checksum校验;默认,进行大小和修改时间校验。
  • rclone ls remote:path [flags],查看对象大小和路径;lsl,包括修改时间;lsd,列出目录;lsjson,以json格式输出。
  • rclone lsd remote:path [flags],列出路径下的目录或存储桶
  • rclone delete remote:path [flags],删除path下符合条件的对象
  • rclone size remote:path [flags],查看远端的文件数目和总大小
  • rclone rcat remote:path [flags],将标准输出复制到远程文件中

参考:

Rclone官网文档:https://rclone.org/docs/

Rclone github仓库:https://github.com/rclone/rclone

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

对象存储私房菜

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是前端

【SCF VS Code 实践:利用SCF和COS免费24小时监测比特币价格并邮件通知预警】

11410
来自专栏LINUX阅码场

陈莉君: 台湾開源人年会之Linux内核之旅(附演讲PPT及讲解)

今年是第一次参加COSCUP 开源人年会,到底与大家分享些什么,与社区大牛BOB沟通后,他建议我就分享自己这20年来的Linux内核之旅。

14530
来自专栏信息化漫谈

Linux系列学习精要(二)

在公有云环境中,一般有NAS、对象存储等海量存储的方式,但NAS的费用较高、而对象存储又需要API接口对接,对一些小型的应用来说不方便。如果我们...

7720
来自专栏代码编写世界

WebGL简易教程(五):图形变换(模型、视图、投影变换)

通过之前的教程,对WebGL中可编程渲染管线的流程有了一定的认识。但是只有前面的知识还不足以绘制真正的三维场景,可以发现之前我们绘制的点、三角形的坐标都是[-1...

14020
来自专栏快速搭建“小直播”

快速搭建“小直播”

小直播 App 是一套开源完整的在线直播解决方案,它基于云直播服务(LVB)、即时通信服务(IM)和对象存储服务(COS)构建,并使用云服务器(CVM)提供简单...

24860
来自专栏信息化漫谈

云快照是简单易用的备份助手

企业数据上云后,面临数据定期备份的需要,传统的一体机受制于网络带宽的限制不再适用于云上数据的灾备。为此,云服务商开发了很多备份的工具,最简单、易用的工具也就是快...

8210
来自专栏科技向令说

赋能长三角 海尔COSMOPlat再造中国工业互联网领域新样本

5G以及物联网时代的到来,使得支撑整个商业环境的工业体系悄然发生着重大变化。这不仅冲击着B端现有的商业体系,也为城市区域发展带来了一个崭新的机遇。谁先抓住,谁便...

9230
来自专栏越之

SCF VS Code 实践:基于腾讯云scf和对象存储cos实现的图床。

clone本仓库或者下载zip包直接上传腾讯云无服务器云函数也可(这里强烈推荐下腾讯云云函数产品的命令行工具SCF CLI)

13200
来自专栏KaliArch

Ceph集群部署

近期进行公司业务容器化改造,在为kubernetes提供存储选型方面,在选型中本地存储不可跨node,NFS共享存储不好做高可用,因此选型Ceph来为k8s提供...

29720
来自专栏小麦苗的DB宝专栏

【DB笔试面试561】在Oracle中,如何预估即将创建索引的大小?

如果当前表大小是1TB,那么在某一列上创建索引的话索引大概占用多大的空间?对于这个问题,Oracle提供了2种可以预估将要创建的索引大小的办法:

7120

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励