Rclone可以方便的在两个不同存储之间同步文件,源和目的包括本地存储、Amazon S3、Tencentyun COS、Alibaba OSS、Ceph、Google Drive、Dropbox等。
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-1251668577rclone 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
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。