前言
rclone功能强大不必多言,相应的命令繁多,时间久了就记不住,本文用来记录自己一些常用的rclone相关命令。
Rclone安装
官方一键脚本
curl https://rclone.org/install.sh | sudo bash
Gclone安装
随着谷歌限制越来越严,gclone现在其实用得很少了,因为需要转存的东西不多,不过这里也贴一下gclone的一个在更的项目地址 gclone项目地址
支持甲骨文arm,安装方式不赘述,下载release对应版本,解压上传到/usr/bin,给与权限即可。
一键rclone安装、挂载、emby安装,刮削包替换,nginx反代
贴一个群里大佬脚本,适合挂11盘
bash <(curl -sL http://ghproxy.20120714.xyz/https://raw.githubusercontent.com/07031218/normal-shell/main/11pan.sh)
Rclone常用场景举例
不同团队盘之间复制
rclone copy syq01:/英美剧 pub04:/英美剧 --transfers 15 --cache-chunk-size 10M --cache-chunk-total-size 15G -v -P --include-from /mnt/yingmeiju.txt --log-file=/root/.config/rclone/rclone.log --drive-server-side-across-configs
include-from /mnt/yingmeiju.txt,表示仅复制txt里对应的内容
移动指定内容
rclone move syq06:/AlphaOrigin/电影 syq06:/1 --include-from /root/movienew.txt --transfers 12 -v -P --drive-server-side-across-configs --delete-empty-src-dirs
delete-empty-src-dirs表示移动完成之后删除空目录
删除指定文件list
rclone delete 00fusheng: --include-from /mnt/yingmeiju.txt -v -P
Txt 内容格式:影库/上载新生 (2020)/**/
谷歌团队盘搬运微软世纪互联
rclone copy syqman:音乐 sp01:music -v -P \
--ignore-checksum \
--ignore-size \
--drive-acknowledge-abuse \
--onedrive-chunk-size 250M \
--contimeout=5s \
--tpslimit 10 \
--tpslimit-burst 30 \
--timeout=30s \
--low-level-retries 10 \
--transfers 10
导出团队盘目录list
rclone lsf syq06:/AlphaOrigin/电影 > movie.txt
去重
rclone dedupe syq01:/英美剧 -v -P --transfers 10 --dedupe-mode newest --drive-server-side-across-configs
删除小于10m的文件,如仅包含字幕
rclone delete syq02:/电影 --max-size 10M -v -P --include "*.{ass,srt,ssa}"
webdav服务器
rclone serve webdav --addr :8989 --user syqman --pass 1234 --vfs-cache-mode writes --use-mmap --buffer-size 512M --vfs-read-chunk-size 10M --vfs-read-chunk-size-limit 512M sp01:
统计目录大小
rclone size syqman:
转移4K影视文件
rclone move syq01:/英美剧 syq01:/英美剧4K --filter-from /root/1.txt --transfers 12 -v -P --drive-server-side-across-configs --delete-empty-src-dirs
挂载
放到emby篇,这里不展开
常用命令及说明
rclone config - 进入交互式配置选项,进行添加、删除、管理网盘等操作
rclone config file - 显示配置文件的路径,一般配置文件在 ~/.config/rclone/rclone.conf
rclone config show - 显示配置文件信息
rclone copy - 复制
rclone move - 移动,如果要在移动后删除空源目录,请加上--delete-empty-src-dirs 参数
rclone sync - 同步:将源目录同步到目标目录,只更改目标目录。
rclone size - 查看网盘文件占用大小。
rclone delete - 删除路径下的文件内容。
rclone purge - 删除路径及其所有文件内容。
rclone mkdir - 创建目录。
rclone rmdir - 删除目录。
rclone rmdirs - 删除指定路径下的空目录。如果加上 --leave-root 参数,则不会删除根目录。
rclone check - 检查源和目的地址数据是否匹配。
rclone ls - 列出指定路径下的所有的文件以及文件大小和路径。
rclone lsl - 比上面多一个显示上传时间。
rclone lsd 列出指定路径下的目录
rclone lsf - 列出指定路径下的目录和文件
常用参数
-n = --dry-run - 测试运行,用来查看 rclone 在实际运行中会进行哪些操作。
-P = --progress - 显示实时传输进度,500mS 刷新一次,否则默认 1 分钟刷新一次。
--cache-chunk-size SizeSuffi - 块的大小,默认5M,理论上是越大上传速度越快,同时占用内存也越多。如果设置得太大,可能会导致进程中断。
--cache-chunk-total-size SizeSuffix - 块可以在本地磁盘上占用的总大小,默认10G。
--transfers=N - 并行文件数,默认为4。在比较小的内存的VPS上建议调小这个参数,比如128M的小鸡上使用建议设置为1。
--config string - 指定配置文件路径,string为配置文件路径。
--ignore-errors - 跳过错误。比如 OneDrive 在传了某些特殊文件后会提示Failed to copy: failed to open source object: malwareDetected: Malware detected,这会导致后续的传输任务被终止掉,此时就可以加上这个参数跳过错误。但需要注意 RCLONE 的退出状态码不会为0。
日志
rclone 有 4 个级别的日志记录,ERROR,NOTICE,INFO 和 DEBUG。默认情况下,rclone 将生成 ERROR 和 NOTICE 级别消息。
-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 是你指定的日志文件路径。
另一种方法是使用系统的指向命令,比如:
rclone sync -v Onedrive:/DRIVEX Gdrive:/DRIVEX > "~/DRIVEX.log" 2>&1
文件过滤
--exclude - 排除文件或目录。
--include - 包含文件或目录。
--filter - 文件过滤规则,相当于上面两个选项的其它使用方式。包含规则以 + 开头,排除规则以 - 开头。
文件类型过滤
比如 --exclude ".bak"、--filter "- .bak",排除所有 bak 文件。也可以写作。
比如 --include ".{png,jpg}"、--filter "+ .{png,jpg}",包含所有 png 和 jpg 文件,排除其他文件。
--delete-excluded 删除排除的文件。需配合过滤参数使用,否则无效。
目录过滤
目录过滤需要在目录名称后面加上 /,否则会被当做文件进行匹配。以 / 开头只会匹配根目录(指定目录下),否则匹配所目录。这同样适用于文件。
--exclude ".git/" 排除所有目录下的.git 目录。
--exclude "/.git/" 只排除根目录下的.git 目录。
--exclude "{Video,Software}/" 排除所有目录下的 Video 和 Software 目录。
--exclude "/{Video,Software}/" 只排除根目录下的 Video 和 Software 目录。
--include "/{Video,Software}/**" 仅包含根目录下的 Video 和 Software 目录的所有内容。
文件大小过滤
默认大小单位为 kBytes ,但可以使用 k ,M 或 G 后缀。
--min-size 过滤小于指定大小的文件。比如 --min-size 50 表示不会传输小于 50k 的文件。
--max-size 过滤大于指定大小的文件。比如 --max-size 1G 表示不会传输大于 1G 的文件。
TIPS: 博主在实际使用中发现大小过滤两个选项不能同时使用。
过滤规则文件
--filter-from <规则文件> 从文件添加包含 / 排除规则。比如 --filter-from filter-file.txt。
过滤规则文件示例:
- secret*.jpg
+ *.jpg
+ *.png
+ file2.avi
- /dir/Trash/**
+ /dir/**
- *
加上fclone以及rclone魔改才像话嘛,大佬