rclone的基本用法
介绍
rclone 是一个命令行同步文件的工具。支持众多协议,比如s3,本地文件,onedrive
s3 参数 https://rclone.org/s3/
安装
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
使用过程遇到的问题
-
挂载容量问题,现在是1PB
-
创建失败也不报错
-
rclone ls s3:
会list所有bucket中的所有文件 -
mount
默认是在前台运行,使用--daemon
可以放到后台运行