rclone的基本用法

介绍

rclone 是一个命令行同步文件的工具。支持众多协议,比如s3,本地文件,onedrive

s3 参数 https://rclone.org/s3/

文档 https://rclone.org/docs/#

安装

参考

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

配置使用

以s3为例,可以使用rclone config按照提示一步步配置,也可以使用配置文件/root/.config/rclone/rclone.conf

参考

# 示例配置
[s3]
type = s3
provider = Other
env_auth = false
access_key_id = <access_key_id>
secret_access_key = <secret_access_key>
endpoint = <http://endpoint>
region = <region> # 可以不配置
#acl = public-read-write
#bucket_acl = public-read-write
chunk_size = 64M
disable_checksum = true
upload_concurrency = 4

rclone config file可以查看默认配置文件的位置。

命令

查看所有远端账号
rclone listremotes

bucket 操作

查看所有bucket
rclone lsd remote:

创建bucket
rclone mkdir remote:bucket

删除空bucket
rclone rmdir remote:bucket

文件操作

查看文本文件
rclone cat remote:bucket/xxx.ini

查看文件是否一致
rclone check remote_src:bucket/xxx.ini remote_dst:bucket/xxx.ini

文件拷贝,跳过已经存在的
rclone copy/copyto local remote:bucket

URL拷贝到文件
rclone urlcopy remote:bucket

删除文件
rclone delete # 删除多个文件
rclone deletefile      # 删除单个文件

生成外链
rclone link

ls

lsf    只显示文件名
lsjson json格式显示文件详情
lsl 查看文件详细信息

其他

rclone purge 清空bucket

size     # 查看文件详情          Prints the total size and number of objects in remote:path.
sync    # 同步文件         Make source and dest identical, modifying destination only.
touch  # 创建一个文件或修改已存在文件的modifytime
tree     # 显示文件树

常用参数

--s3-provider Other

--max-backlog #N   # 在 sync/copy/move 时使用,占用 N 倍 KB 内存
--buffer-size=SIZE # 加速 sync/copy/move
--bwlimit UP:DOWN  # 上传下载限速,b|k|M|G

--size-only 使用sync功能配合此参数,表示只有文件大小有变化才会同步文件,可能存在文件大小未变但是文件已经发生变化,不推荐使用;
--checksum 通过md5判断文件是否有变化,md5发生变化时才会同步文件;如果source是本地磁盘,这会带来较多的磁盘和CPU消耗;如果source和destination都是对象存储,则推荐使用这个参数;
--update --use-server-modtime 通过mtime判断文件是否变化,只有当本地文件的mtime较新时,文件才会上传
--fast-list rclone默认的遍历方式是单独处理每个目录,每个目录调用1次API。使用这个参数将会将所有文件信息加入内存(1000个文件进行1次API调用),1个文件消耗1k内存。
--no-traverse 当destination中文件较多时,使用此参数将会直接查找这个文件,而不是通过文件列表
--max-age 限制文件最大age,用来上传最近的文件

--s3-no-head 默认上传后会通过head检测文件是否已经上传,通过此参数可关闭。
--s3-upload-cutoff 文件大于这个值会使用分片上传,默认值是200M,最大值是5G https://rclone.org/s3/#s3-upload-cutoff
--s3-disable-checksum 不计算md5
--s3-upload-concurrency 默认值4,有多少chunck同时上传,如果传少量大文件,提高这个参数可以提升带宽。
--s3-chunk-size 默认值 5M
--s3-max-upload-parts 默认值10000
--s3-force-path-style 默认值true
--s3-v2-auth 默认值false
--s3-list-chunk 默认值1000,每次list返回的key数量

举例

rclone sync hcp:prod ks3-bbx:bbxprd --create-empty-src-dirs -P --transfers 16 --s3-upload-cutoff 5G
rclone copy --min-age 24h --no-traverse /path/to/source s3:bucket

使用过程遇到的问题

  1. 挂载容量问题,现在是1PB

    https://forum.rclone.org/t/rclone-mount-question/15454

  2. 创建失败也不报错

  3. rclone ls s3: 会list所有bucket中的所有文件

  4. mount默认是在前台运行,使用--daemon可以放到后台运行

posted @ 2020-05-07 10:45  hiyang  阅读(20140)  评论(1编辑  收藏  举报