rclone 参数说明

rclone是最好用的网络存储挂载工具,没有之一,并且开源。
官网文档https://rclone.org/docs/,下载https://rclone.org/downloads/https://github.com/rclone/rclone

Rclone 设置

# 进入交互式配置选项,进行添加、删除、管理网盘等操作
rclone config
# 显示配置文件的路径,一般配置文件在 ~/.config/rclone/rclone.conf
rclone config file
# 显示配置文件信息
rclone config show

命令语法

# 本地到网盘
rclone [功能选项] <本地路径> <网盘名称:路径> [参数] [参数] ...
# 网盘到本地
rclone [功能选项] <网盘名称:路径> <本地路径> [参数] [参数] ...
# 网盘到网盘
rclone [功能选项] <网盘名称:路径> <网盘名称:路径> [参数] [参数] ...

# 例如:
rclone move -v /Download Onedrive:/Download --transfers=1
# 复制到网盘,并显示实时传输进度,设置并行上传数为8
rclone copy -P /home/SunPma GD:/home/SunPma --transfers=8 
# 如果需要服务端对服务端的传输可加以下参数(不消耗本地流量)
rclone copy 配置名称:网盘路径 配置名称:网盘路径 --drive-server-side-across-configs

常用功能选项

# 复制
rclone copy
# 移动,如果要在移动后删除空源目录,请加上 --delete-empty-src-dirs 参数
rclone move
# 同步,将源目录同步到目标目录,只更改目标目录
rclone sync
# 查看网盘文件占用大小
rclone size
# 删除路径下的文件内容
rclone delete
# 删除路径及其所有文件内容
rclone purge
# 创建目录
rclone mkdir
# 删除目录
rclone rmdir
# 删除指定环境下的空目录,如果加上--leave-root参数,则不会删除根目录
rclone rmdirs
# 检查源和目的地址数据是否匹配
rclone check
# 列出指定路径下的所有的文件以及文件大小和路径
rclone ls
# 比上面多一个显示上传时间
rclone lsl
# 列出指定路径下的目录
rclone lsd
# 列出指定路径下的目录和文件 
rclone lsf

常用参数

# 测试运行,用来查看 rclone 在实际运行中会进行哪些操作
-n,--dry-run
# 显示实时传输进度,500ms刷新一次,否则默认1分钟刷新一次
-P,--progress
#  块的大小,默认5M,理论上是越大上传速度越快,同时占用内存也越多。如果设置得太大,可能会导致进程中断
--cache-chunk-size SizeSuffi
# 块可以在本地磁盘上占用的总大小,默认10G
--cache-chunk-total-size SizeSuffix
# 并行文件数,默认为4。在比较小的内存的VPS上建议调小这个参数,比如128M的小鸡上使用建议设置为1
--transfers=N
# 指定配置文件路径,string为配置文件路径(例如rclone config --config="rclone.conf".)
--config string
# 跳过错误,防止出现错误后导致后续的传输任务被终止掉,此时就可以加上这个参数跳过错误。但需要注意 RCLONE 的退出状态码不会为0
--ignore-errors
# 根据文件大小校验,不校验hash
--size-only
# 服务端对服务端传输
--drive-server-side-across-configs

日志

rclone有4个级别的日志记录:ERROR、NOTICE、INFO、DEBUG。默认情况下,rclone将生成ERROR和NOTICE级别日志

#  rclone将仅生成ERROR消息
-q
# rclone将生成ERROR,NOTICE和INFO消息,推荐此项
-v
# rclone将生成ERROR,NOTICE,INFO和DEBUG消息
-vv
# 标志控制日志级别
--log-level LEVEL

输出日志到文件

使用--log-file=FILE选项,rclone会将Error,Info和Debug消息以及标准错误重定向到FILE,这里的FILE是你指定的日志文件路径。
另一种方法是使用系统的指向命令,比如:rclone sync -v Onedrive:/DRIVEX Gdrive:/DRIVEX > "~/DRIVEX.log" 2>&1

文件和目录过滤

目录过滤需要在目录名称后面加上/,否则会被当做文件进行匹配,以/开头只会匹配根目录(指定目录下),否则匹配所目录。这同样适用于文件

# 排除文件或目录
--exclude
# 包含文件或目录
--include
# 文件过滤规则,相当于上面两个选项的其它使用方式,包含规则以+开头,排除规则以-开头
--filter


# 举例:
# 排除所有bak文件(2种写法)
--exclude ".bak"
--filter "- .bak"
# 包含所有png和jpg文件,排除其他文件
--include ".{png,jpg}"
--filter "+ .{png,jpg}"
# 删除排除的文件,需配合过滤参数使用,否则无效
--delete-excluded
# 排除所有目录下的.git 目录
--exclude ".git/"
# 只排除根目录下的.git 目录
--exclude "/.git/"
# 排除所有目录下的Video和Software目录
--exclude "{Video,Software}/"
# 只排除根目录下的Video和Software目录
--exclude "/{Video,Software}/"
# 仅包含根目录下的Video和Software目录的所有内容
--include "/{Video,Software}/**" 

rclone copy -vv --disable copy --progress --checkers 10 --transfers 10 --tpslimit 10 --user-agent "ISV|rclone|rclone/v1.51.0" --stats 3m --bwlimit 1000M --buffer-size 64M --low-level-retries 20 --include "{文件夹A,文件夹B,文件夹C}/**" "/home/piaoyun.cc/down/" "onedirve:/piaoyuncc/"

文件大小过滤

默认大小单位为kBytes ,但可以使用k ,M或G后缀。大小过滤两个选项不能同时使用

# 过滤小于指定大小的文件
--min-size
# 过滤大于指定大小的文件
--max-size

# 举例
# 传输不小于50k的文件
--min-size 50
# 传输不大于1G的文件
--max-size 1G

过滤规则文件

# 从文件添加包含/排除规则
--filter-from <规则文件> 

# 举例:
--filter-from filter-file.txt
# filter-file.txt内容如下:
    - secret*.jpg
    + *.jpg
    + *.png
    + file2.avi
    - /dir/Trash/**
    + /dir/**
    - *

环境变量

rclone中的每个选项都可以通过环境变量设置。环境变量的名称可以通过长选项名称进行转换,删除--前缀,更改-_,大写并添加前缀RCLONE_。环境变量的优先级会低于命令行选项,即通过命令行追加相应的选项时会覆盖环境变量设定的值。
比如设置最小上传大小--min-size 50,使用环境变量是RCLONE_MIN_SIZE=50。当环境变量设置后,在命令行中使用--min-size 100,那么此时环境变量的值就会被覆盖
常用环境变量

# 自定义配置文件路径
RCLONE_CONFIG
# 若rclone进行了加密设置,把此环境变量设置为密码,可自动解密配置文件
RCLONE_CONFIG_PASS
# 上传失败重试次数,默认3次
RCLONE_RETRIES
# 上传失败重试等待时间,默认禁用,单位s、m、h分别代表秒、分钟、小时
RCLONE_RETRIES_SLEEP
# 并行上传文件数
CLONE_TRANSFERS
# 块的大小,默认5M
RCLONE_CACHE_CHUNK_SIZE
# 块可以在本地磁盘上占用的总大小,默认10G
RCLONE_CACHE_CHUNK_TOTAL_SIZE
#  跳过错误
RCLONE_IGNORE_ERRORS=true