rclone:常用命令

1
2
3
rclone config - 进入交互式配置选项,进行添加、删除、管理网盘等操作。
rclone config paths - 显示配置文件的路径,一般配置文件在 ~/.config/rclone/rclone.conf,更换服务器可直接copy该文件。
rclone config show - 显示配置文件信息

命令语法

1
2
3
4
5
6
# 本地到网盘
rclone [功能选项] <本地路径> <网盘名称:路径> [参数] [参数] ...
# 网盘到本地
rclone [功能选项] <网盘名称:路径> <本地路径> [参数] [参数] ...
# 网盘到网盘
rclone [功能选项] <网盘名称:路径> <网盘名称:路径> [参数] [参数] ...

用法示例:

建议添加 --drive-acknowledge-abuse 来处理被Google Drive标识为恶意软件的文件

复制: rclone copy

1
rclone copy /up gd:upload --ignore-existing -u -v -P --transfers=10 --ignore-errors --buffer-size=16M --check-first --checkers=10

同步: rclone sync 添加 --drive-acknowledge-abuse参数

1
rclone sync /up gd:upload --ignore-existing -u -v -P --transfers=10 --ignore-errors --buffer-size=16M --check-first --checkers=10 --drive-acknowledge-abuse

以下是对每个参数的解释:

  1. rclone copy 为功能选项, 即复制

  2. /up: 本地路径,表示要复制的文件或目录的位置。

  3. gd:upload: 这是目标路径,gd是网盘名称,upload是网盘路径,表示要将文件或目录复制到的位置。

  4. --ignore-existing: 这是一个选项,指示rclone在复制文件时忽略已经存在于目标位置的文件,即不覆盖已存在的文件,仅复制源中不存在于目标位置的文件。

  5. -u(或 --update): 这是一个选项,指示rclone仅复制源中新于目标的文件或文件夹。如果目标上已有相同文件名但内容不同的文件,它不会被覆盖。

  6. -v(或 --verbose): 这是一个选项,用于启用详细的输出,显示更多有关操作进展的信息。

  7. -P(或 --progress): 这是一个选项,用于显示传输进度,包括已传输的数据量和传输速度等信息。

  8. --transfers=10: 这是一个选项,指示rclone一次并发执行最多10个文件传输操作。这可以加快复制速度。

  9. --ignore-errors: 这是一个选项,指示rclone在遇到错误时继续进行操作而不中断。如果某些文件无法复制,它会继续复制其他文件,而不会停止整个操作。

  10. --buffer-size=16M: 这是一个选项,用于指定rclone在内存中使用的缓冲区大小,以提高性能。

  11. --check-first: 这是一个选项,指示rclone在实际开始复制操作之前,首先检查源和目标之间的差异。这可以节省不必要的复制操作。

  12. --checkers=10: 这是一个选项,用于指定rclone在进行检查(check)操作时并发执行的检查器数量。这可以加快检查操作的速度。

  13. --drive-acknowledge-abuse 标志来处理恶意文件.

综合起来,这个命令的目标是从源路径 /up 复制文件或目录到目标路径 gd:upload,在复制过程中忽略已存在的文件,仅复制新的或不同的文件,同时提供详细的进度信息,最多同时进行10个文件传输,忽略复制中的错误,使用16MB的缓冲区大小,并在复制之前检查源和目标之间的差异。

常用功能选项

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
rclone copy - 复制
rclone move - 移动,如果要在移动后删除空源目录,请加上 --delete-empty-src-dirs 参数
rclone sync - 同步:将源目录同步到目标目录,只更改目标目录。
rclone delete - 删除路径下的文件内容。
rclone purge - 删除路径及其所有文件内容。
rclone mkdir - 创建目录。
rclone rmdir - 删除目录。
rclone rmdirs - 删除指定灵境下的空目录。如果加上 --leave-root 参数,则不会删除根目录。
rclone check - 检查源和目的地址数据是否匹配。
rclone ls - 列出指定路径下的所有的文件以及文件大小和路径。
rclone lsl - 比上面多一个显示上传时间。
rclone lsd 列出指定路径下的目录
rclone lsf - 列出指定路径下的目录和文件

常用参数

1
2
3
4
5
6
-n = --dry-run - 测试运行,用来查看 rclone 在实际运行中会进行哪些操作。
-P = --progress - 显示实时传输进度。
--cache-chunk-size SizeSuffi - 块的大小,默认 5M,理论上是越大上传速度越快,同时占用内存也越多。如果设置得太大,可能会导致进程中断。
--cache-chunk-total-size SizeSuffix - 块可以在本地磁盘上占用的总大小,默认 10G。
--transfers=N - 并行文件数,默认为 4。在比较小的内存的 VPS 上建议调小这个参数,比如 128M 的小鸡上使用建议设置为 1。
--config string - 指定配置文件路径,string 为配置文件路径。比如在使用宝塔面板输入命令操作时可能会遇到找不到配置文件的问题,这时就需要指定配置文件路径。

日志

rclone 有 4 个级别的日志记录,ERROR,NOTICE,INFO 和 DEBUG。

默认情况下,rclone 将生成 ERROR 和 NOTICE 级别消息。

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

输出日志到文件

使用 –log-file=FILE 选项,rclone 会将 Error,Info 和 Debug 消息以及标准错误重定向到 FILE,这里的 FILE 是你指定的日志文件路径。

另一种方法是使用系统的指向命令,比如:

1
rclone sync -v Onedrive:/DRIVEX Gdrive:/DRIVEX > "~/DRIVEX.log" 2>&1

文件过滤

1
2
3
--exclude 排除文件或目录。比如 --exclude *.bak,排除所有 bak 文件。
--include 包含文件或目录。比如 --include *.{png,jpg} ,包含所有 png 和 jpg 文件,排除其他文件。
--delete-excluded 删除排除的文件。需配合过滤参数使用,否则无效。

目录过滤

1
2
--exclude .git/ 排除所有目录下的 .git 目录。
--exclude /.git/ 只排除根目录下的 .git 目录。

以/开头只会匹配根目录,而如果没有,则是匹配所目录。同样适用于文件。

文件大小过滤

默认大小单位为 kBytes ,但可以使用 k ,M 或 G 后缀。

1
2
--min-size 过滤小于指定大小的文件。比如 --min-size 50 表示不会传输小于 50k 的文件。
--max-size 过滤大于指定大小的文件。比如 --max-size 1G 表示不会传输大于 1G 的文件。

文件过滤规则

1
--filter-from <规则文件> 从文件添加包含 / 排除规则。比如 --filter-from filter-file.txt。

过滤规则文件示例:

1
2
3
4
5
6
7
- secret*.jpg
+ *.jpg
+ *.png
+ file2.avi
- /dir/Trash/**
+ /dir/**
- *
  • 是包含,- 是排除

这里只举例比较常用和简单的一些过滤用法,更复杂和高端的用法可以查看官方文档。

GoogleDrive网盘挂载到云主机/VPS上

新建一个你要挂载的目录,例如挂载到 /home/google

1
mkdir -p /home/google

再执行挂载命令:

1
rclone mount gd: /home/google --allow-other --vfs-cache-mode writes --allow-non-empty --no-modtime &

gd 为 rclone 的配置名称,比如你在创建配置 rclone 的时候 Name 填的 gd,/home/google 为本地路径;

这里还可以自定义设置网盘里的文件夹路径,例如:

1
rclone mount gd:backup /home/google --allow-other --vfs-cache-mode writes --allow-non-empty --no-modtime &

gd 为 rclone 的配置名称:backup 为网盘里的目录名

重连后查看是否挂载成功:

1
df -h

有看到gd硬盘、使用量和本地主机路径即成功挂载

1
gd: 15G  1.1M   15G   1% /home/gdrive

卸载 Google Drive 磁盘

1
fusermount -qzu /home/google