rclone 常用命令 挂载 ls 临时url等

rclone 是一个非常强大的 网络文件系统辅助工具! 支持并不限与以下功能

  • 挂载 对象储存
  • 挂载 多数正常的网盘(非国内阉割盘)
  • sync同步
  • 文件复制 删除 ls
  • 临时获取url link等
  • 加密同步

下面整理记录常用命令

# 安装

golang写的 直接解压即可 ,或者用linux自带的包管理器

1
2
3
4
wget https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cp rclone-*-linux-amd64/rclone  /mnt/sda1/rclone &&   rm -rf rclone-*
chown root:root /mnt/sda1/rclone && chmod 755 /mnt/sda1/rclone

# 配置文件

# 向导模式

1
2
/mnt/sda1/rclone config   # 默认路径在  ~/.config/rclone/rclone.conf  
/mnt/sda1/rclone config   --config /mnt/sda1/rclone.conf  

# 手动编辑

例子

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
cat >/mnt/sda1/rclone.conf   << EOF
[cloudreve]
type = webdav
url = https://cloudreve地址:5213/dav
vendor = nextcloud
user = 密码
pass = 加密后的密码
[oss-sh]
type = s3
provider = Alibaba
access_key_id = XXXXX
secret_access_key = XXXXXX
endpoint = oss-cn-shanghai.aliyuncs.com
acl = private
storage_class = STANDARD
bucket_acl = private
EOF

# 备份和恢复

1
2
3
rclone copy oss-qd:demo-docker-img-bak/emqx.5.0.17.tar.gz  /demo/docker-img-bak/emqx.5.0.17.tar.gz  --config /demo/etc/rclone.conf   
rclone sync oss-qd:demo-serv-emqx-bak/ /demo/emqx   --config /demo/etc/rclone.conf
rclone sync  /demo/emqx  oss-qd:demo-serv-emqx-bak/  --config /demo/etc/rclone.conf

sysnc 和 copy 区别 等于 系统 sysnc 和 cp的区别

# 获取临时链接

仅限部分储存可以用。有一些储存肯定是不可以的用的。

1
/root/opt/rclone link --expire 1m oss-qd:demo-serv-bak/opt_serv1/main.txt

# 检查 查询

ls 列出文件

1
2
3
4
5
rclone ls 列出路径中的对象及其大小和路径。
rclone lsd 列出路径中的所有目录/容器/桶。
rclone lsf 列出 remote:path 格式的目录和对象以供解析。
rclone lsjson 以 JSON 格式列出路径中的目录和对象。
rclone lsl 列出路径中的对象及其修改时间、大小和路径。

例如

1
rclone lsd cloudreve:/ --config /demo/etc/rclone.conf

# 挂载命令

1
/mnt/sda1/rclone mount cloudreve:/ /mnt/dav   --config /mnt/sda1/rclone.conf

如果提示 fusermount3 找不到,应该是缺少 fuse3 这个包 apk add fuse3

# 其他常用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
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 - 列出指定路径下的目录和文

# 常用参数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
-n = --dry-run - 测试运行,用来查看 rclone 在实际运行中会进行哪些操作。
-P = --progress - 显示实时传输进度,500mS 刷新一次,否则默认 1 分钟刷新一次。
--cache-chunk-size SizeSuffi - 块的大小,默认5M,理论上是越大上传速度越快,同时占用内存也越多。如果设置得太大,可能会导致进程中断。
--cache-chunk-total-size SizeSuffix - 块可以在本地磁盘上占用的总大小,默认10G。
--transfers=N - 并行文件数,默认为4。如果你cpu性能差,建议调低,但太低可能会影响多个文档同时传输的速度。
--config string - 指定配置文件路径,string为配置文件路径。
--ignore-errors - 跳过错误。比如 OneDrive 在传了某些特殊文件后会提示Failed to copy: failed to open source object: malwareDetected: Malware detected,这会导致后续的传输任务被终止掉,此时就可以加上这个参数跳过错误。但需要注意 RCLONE 的退出状态码不会为0。
--no-check-certificate 忽略证书检查
--allow-other:允许非当前 rclone 用户外其它用户进行访问
--attr-timeout 5m:文件属性缓存,(大小,修改时间等)的时间。如果 VPS 配置比较低,建议适当提高这个值,避免过多内核交互,降低资源占用。
-vfs-cache-mode full:开启 VFS 文件缓存,可减少 rclone 与 API 交互,同时可提高文件读写效率
--vfs-cache-max-age 24h:VFS 文件缓存时间,这里设置 24 小时,如果文件很少更改,建议设置更长时间
--vfs-cache-max-size 10G:VFS文件缓存上限大小,建议不超过当前空余磁盘的50%
vfs-read-chunk-size-limit 100M:分块读取大小,这里设置的是100M,可提高文件读的效率,比如1G的文件,大致分为10个块进行读取,但与此同时API请求次数也会增多
--buffer-size 100M:内存缓存,如果您内存比较小,可降低此值,如果内存比较大,可适当提高
--daemon:指后台方式运行
--low-level-retries:该参数为传输文档没速度的时候重试次数,没速度的时候,单个会自动睡眠10ms起,然后再重试,不行,再睡眠更长一段时间,再重试,这样可以稍微加快文档上传进度。
–transfers 4 表示文件并行数量 
–max-size 3G 传输的文件最大3G 
–min-size 3G 传输的文件最小3G 
–checkers 64 并行检查64个文件

关于读取部分的一些 参数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
--dir-cache-time 12h
--vfs-read-chunk-size 32M
--vfs-read-chunk-size-limit 1G
1. --vfs-cache-mode off
    - 所有文件操作全部直接进行
    - 失败无法自动重试
2. --vfs-cache-mode minimal
    - 读写模式打开的文件将会首先缓冲到磁盘
    - 其他模式打开文件直接进行操作
    - 失败无法自动重试
3. --vfs-cache-mode writes
    - 读写模式打开的文件将会首先缓冲到磁盘
    - 只写模式打开的文件将会首先缓冲到磁盘
    - 只读取模式打开的文件将会直接进行操作
    - 支持自动重试
4. --vfs-cache-mode full
    - 所有文件操作全部缓存
    - 读取会下载整个文件

# 日志

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/**

# rclone创建webdav服务器

实例

1
2
3
4
nohup rclone serve webdav gd:media --etag-hash MD5 --addr 127.0.0.1:8080 --user whackeralpha --pass Bush993475Xjt5621 --dir-cache-time 300s --cache-dir /root/webdav_cache --vfs-cache-mode writes -v &
nohup rclone serve webdav d:backup/appdata/KeePass --etag-hash MD5 --addr 127.0.0.1:8080 --user alpabete --pass C6keP2sr_pi8 --cache-dir /root/webdav_cache --vfs-cache-mode writes -v &
nohup rclone serve webdav gd:media --addr 127.0.0.1:8080 --user whackeralpha --pass Bush993475Xjt5621 --cache-dir /root/webdav_cache &
nohup rclone serve http g:media --addr 127.0.0.1:8080 --user whackeralpha --pass Bush993475Xjt5621 --cache-dir /root/http_cache -v &

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

# 环境变量

rclone 中的每个选项都可以通过环境变量设置。环境变量的名称可以通过长选项名称进行转换,删除 – 前缀,更改 - 为_,大写并添加前缀 RCLONE_。环境变量的优先级会低于命令行选项,即通过命令行追加相应的选项时会覆盖环境变量设定的值。 比如设置最小上传大小 –min-size 50,使用环境变量是 RCLONE_MIN_SIZE=50。当环境变量设置后,在命令行中使用 –min-size 100,那么此时环境变量的值就会被覆盖。 常用环境变量 RCLONE_CONFIG - 自定义配置文件路径 RCLONE_CONFIG_PASS - 若 rclone 进行了加密设置,把此环境变量设置为密码,可自动解密配置文件。 RCLONE_RETRIES - 上传失败重试次数,默认 3 次 RCLONE_RETRIES_SLEEP - 上传失败重试等待时间,默认禁用,单位s、m、h分别代表秒、分钟、小时。 CLONE_TRANSFERS - 并行上传文件数。 RCLONE_CACHE_CHUNK_SIZE - 块的大小,默认5M,理论上是越大上传速度越快,同时占用内存也越多。如果设置得太大,可能会导致进程中断。 RCLONE_CACHE_CHUNK_TOTAL_SIZE - 块可以在本地磁盘上占用的总大小,默认10G。 RCLONE_IGNORE_ERRORS=true - 跳过错误

# 其他

# rclone 忽略证书错误

https://dev.leiyanhui.com/all-in-one/rclone-skip-ssl/

# rclone webui

可以实现 文件浏览 挂载等操作

1
rclone rcd --rc-web-gui --rc-addr :80 --config /root/rclone.conf

# rclone 跨平台浏览工具

Rclone Browser

需要 指定rclone 和 rclone.conf 的位置
win下需要 winfsp 和 sshfs

有几个小bug,

  • sftp浏览和挂载不能离开home目录。
  • win下系统托盘 的退出功能无效
  • 暗黑模式标题栏有点小问题

已经停止更新很久,但是免费开源体积也不大。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计