185 lines
5.7 KiB
Markdown
185 lines
5.7 KiB
Markdown
# 原创
|
||
: Rclone笔记
|
||
|
||
# Rclone笔记
|
||
|
||
>
|
||
|
||
|
||
|
||
#### 目录
|
||
|
||
### 一些简单命令
|
||
|
||
#### 挂载
|
||
|
||
```
|
||
# windows 挂载命令
|
||
rclone mount OD:/ H: --cache-dir E:\ODPATH --vfs-cache-mode writes &
|
||
# linux 挂载命令
|
||
nohup rclone mount GD:/ /root/GDPATH --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 &
|
||
# 取消挂载————linux 通用
|
||
fusermount -qzu /root/GDPATH 或者
|
||
fusermount -u /path/to/local/mount
|
||
# windows 取消挂载
|
||
umount /path/to/local/mount
|
||
|
||
```
|
||
|
||
#### rclone命令
|
||
|
||
```
|
||
rclone ls
|
||
|
||
eg____rclone ls remote:path [flags]
|
||
ls # 递归列出 remote 所有文件及其大小,有点类似 tree 命令
|
||
lsl # 递归列出 remote 所有文件、大小及修改时间
|
||
lsd # 仅仅列出文件夹的修改时间和文件夹内的文件个数
|
||
|
||
lsf # 列出当前层级的文件或文件夹名称
|
||
lsjson # 以JSON格式列出文件和目录
|
||
|
||
|
||
rclone copy
|
||
|
||
eg____rclone copy OD:/SOME/PATH GD:/OTHER/PATH
|
||
--no-traverse # /path/to/src中有很多文件,但每天只有少数文件发生变化,加上这个参数可以提高传输速度
|
||
-P # 实时查看传输统计信息
|
||
--max-age 24h # 仅仅传输24小时内修改过的文件,默认关闭
|
||
rclone copy --max-age 24h --no-traverse /path/to/src remote:/PATH -P
|
||
|
||
rclone sync
|
||
eg____rclone sync source:path dest:path [flags]
|
||
# 使用该命令时先用 --dry-run 测试,明确要复制和删除的内容
|
||
|
||
rclone delete
|
||
# 列出大于 100M 的文件
|
||
rclone --min-size 100M lsl remote:path
|
||
# 删除测试
|
||
rclone --dry-run --min-size 100M delete remote:path
|
||
# 删除
|
||
rclone --min-size 100M delete remote:path
|
||
|
||
# 删除路径及其所有内容,filters此时无效,这与 delete 不同
|
||
rclone purge
|
||
|
||
# 删除空路径
|
||
rclone rmdir
|
||
|
||
# 删除路径下的空目录
|
||
rclone rmdirs
|
||
|
||
# 移动文件
|
||
rclone move
|
||
# 移动后删除空源目录
|
||
--delete-empty-src-dirs
|
||
|
||
# 检查源和目标匹配中的文件
|
||
rclone check
|
||
# 从两个源下载数据并在运行中互相检查它们而不是哈希检测
|
||
--download
|
||
|
||
rclone md5sum
|
||
# 为路径中的所有文件生成md5sum文件
|
||
rclone sha1sum
|
||
# 为路径中的所有文件生成sha1sum文件
|
||
rclone size
|
||
# 在remote:path中打印该路径下的文件总大小和数量
|
||
--json # 输出json格式
|
||
rclone version --check #检查版本更新
|
||
rclone cleanup # 清理源的垃圾箱或者旧版本文件
|
||
|
||
rclone dedupe # 以交互方式查找重复文件并删除/重命名它们
|
||
--dedupe-mode newest - 删除相同的文件,然后保留最新的文件,非交互方式
|
||
|
||
rclone cat
|
||
# 同linux
|
||
|
||
rclone copyto
|
||
# 将文件从源复制到dest,跳过已复制的文件
|
||
|
||
rclone gendocs output_directory [flags]
|
||
# 生成rclone的说明文档
|
||
|
||
rclone listremotes # 列出配置文件中所有源
|
||
--long 显示类型和名称 默认只显示名称
|
||
|
||
rclone moveto
|
||
# 不会传输未更改的文件
|
||
|
||
rclone cryptcheck /path/to/files encryptedremote:path
|
||
# 检查加密源的完整性
|
||
|
||
rclone about
|
||
# 获取源的配额 ,eg
|
||
$ rclone about ODA1P1:
|
||
Total: 5T
|
||
Used: 284.885G
|
||
Free: 4.668T
|
||
Trashed: 43.141G
|
||
--json # 以 json 格式输出
|
||
|
||
|
||
rclone mount # 挂载命令
|
||
|
||
# 在Windows使用则需要安装winfsp
|
||
--vfs-cache-mode # 不使用该参数,只能按顺序写入文件,只能在读取时查找,即windows程序无法操作文件,使用该参数即启用缓存机制
|
||
# 共四种模式:off|minimal|writes|full 缓存模式越高,rclone越多,代价是使用磁盘空间,默认为full
|
||
--vfs-cache-max-age 24h # 缓存24小时内修改过的文件
|
||
--vfs-cache-max-size 10g # 最大总缓存10g (缓存可能会超过此大小)
|
||
--cache-dir 指定缓存位置
|
||
--umask int 覆盖文件系统权限
|
||
--allow-non-empty 允许挂载在非空目录
|
||
--allow-other 允许其他用户访问
|
||
--no-check-certificate 不检查服务器SSL证书
|
||
--no-gzip-encoding 不设置接受gzip编码
|
||
|
||
```
|
||
|
||
### 用自己的 api 进行 gd 转存
|
||
|
||
>
|
||
见这位大佬博客:[https://www.moerats.com/archives/877/](https://www.moerats.com/archives/877/)
|
||
|
||
|
||
使用 `rclone` 的人太多吉会有一个问题,我们使用的是共享的`client_id`,在高峰期会出现`403`或者还没到`750G`限制就出现`Limitations`问题,所以高频率使用`rclone`转存谷歌文件得朋友就需要使用自己的`api`。通过上面那篇文章给出的方法获取谷歌的 API 客户端`ID`和客户端密钥,`rclone config`命令配置的时候,会有部分提示你输入,直接粘贴就`OK`.
|
||
|
||
挂载就变成:
|
||
|
||
```
|
||
#该参数主要是上传用的
|
||
/usr/bin/rclone mount DriveName:Folder LocalFolder \
|
||
--umask 0000 \
|
||
--default-permissions \
|
||
--allow-non-empty \
|
||
--allow-other \
|
||
--transfers 4 \
|
||
--buffer-size 32M \
|
||
--low-level-retries 200
|
||
|
||
#如果你还涉及到读取使用,比如使用H5ai等在线播放,就还建议加3个参数,添加格式参考上面
|
||
--dir-cache-time 12h
|
||
--vfs-read-chunk-size 32M
|
||
--vfs-read-chunk-size-limit 1G
|
||
|
||
```
|
||
|
||
### 突破 Google Drive 服务端 750g 限制
|
||
|
||
谷歌官方明确限制通过第三方`api`每天限制转存`750G`文件,这个 `750G` 是直接通过谷歌服务端进行,文件没有经过客户端,另外经过客户端上传到 `gd` 与 服务端转存不冲突,官方也有 `750G` 限制,所以每天上传限额一共是 `1.5T`
|
||
|
||
```
|
||
# 一般用法,使用服务端API,不消耗本地流量
|
||
rclone copy GD1:/PATH GD2:/PATH
|
||
|
||
# disable server side copies 使用客户端 API,流量走客户端
|
||
rclone --disable copy GD1:/PATH GD2:/PATH
|
||
|
||
```
|
||
|
||
这样就是每天 `1.5T` 了。
|
||
|
||
### 谷歌文档限制
|
||
|
||
在 `rclone ls` 中谷歌文档会出现 `-1`, 而对于其他 `VFS` 层文件显示 `0` ,比喻通过 `rclone mount`,`rclone serve`操作的文件。而我们用 `rclone sync`,`rclone copy`的命令时,它会忽略文档大小而直接操作。也就是说如果你没有下载谷歌文档,就不知道它多大,没啥影响…
|