Rclone 云盘

本文主要介绍如何将OneDrive作为一个超大的免费云盘,挂载到服务器或者本地电脑中。

申请5TB云盘的地址: Đăng ký tài khoản OneDrive miễn phí (不确定其有效时间) Rclone设置以及如何挂载,请参阅脚注中的文章以及视频 1) 2) 3) 4) 5)

安装 Rclone

Windows系统从 2) 给出的链接下载到本地,然后设置系统环境变量 path 到相应的目录即可。
Mac 或者 Linux 直接 apt-get install 或者 brew 安装就OK。

完成后安装 RcloneBrowser 图形界面可以帮助管理。

OneDrive 应用

需要去 Azure 注册一个应用,名字随便起,不是「onedrive」就好。

需要注意的点

  1. 是验证栏选择 Web,重定向URL填写 http://localhost:53682/, 否则无法验证。
  2. 应用名字不能是 “onedrive”
  3. 任何组织都可以访问

第一步:进去后复制客户端ID

第二步:建立一个新的证书和密码

将来要用到的是「」 而不是 「机密ID」。创建以后马上就要复制下来,否则将来机会看不见。

第三步:添加API权限
选择 API 权限/Microsoft Graph/应用程序权限

  • File.Read.All
  • File.ReadWrite.All
  • User.Read.All

OneDrive 应用的设置基本就结束了。

谷歌共享云盘

在某宝花12元买了一个谷歌共享云盘。倒是不需要任何client_id和application_secrit,在rclone config的时候一路Enter就好,无需填任何东西。只需在最后交互界面询问,“Configure this as a Shared Drive (Team Drive)?” 的时候选择y,就会连接上共享云盘。

Configure this as a Shared Drive (Team Drive)?
y) Yes
n) No (default)

有时间可以尝试一下这个项目,6) 通过Cloudflare workers 直接下载云盘上的文件。

Rclone Config

按照参考文章中的演示一步一步往下走就可以了。最后的结果是

USER
Name Type ==== ==== gdrive onedrive imac:~ mai$ rclone tree gdrive:work
/ └── 文档.docx imac:~ mai$ rclone lsd gdrive: -1 2021-08-03 20:55:28 2 work

如果在headless计算机上设置的话,比如vps上,最后一步要选择NO,并在当地计算机上验证。也有可能出现tocken不正确,或者不可识别的错误。有个取巧的方法就是在当地可以启动浏览器的计算机上config一次,成功后其config文档会保存在/home/<user>/.config/rclone/rclone.conf下面。把内容复制到远程计算机上相应的文档中就好了。查看config文档位置

rclone config file

最后一步可能要粘贴成下面这种形式,而不是仅仅token里面的那个字符串。

{"access_token":"******","expiry":"2021-08-04T01:22:50.579803+02:00"}

Rclone 挂载

Windows 命令行挂载(参数 * 是让系自行选择一个没有分配的盘符)

rclone mount gdrive:work *

启动挂载就要用到脚本以及winfsp 程序

rclone.vbs
set ws=WScript.CreateObject("WScript.Shell") 
ws.Run "rclone.exe  mount  gdrive:work  *  --vfs-cache-mode writes",0

组合键 win + R 唤出运行窗口,输入 shell:startup,回车执行后会打开 Windows 启动文件夹。把脚本拖入这个文件夹即可,电脑每次启动时都会自动执行这个文件夹中的脚本文件。

Mac 安装rclone和fuse

curl https://rclone.org/install.sh | sudo bash
brew install --cask osxfuse

sudo rclone mount gdrive:work ~/gdrive --allow-other --daemon
umount /path/to/local/mount # 卸载

Ubuntu 上挂载比较好的命令

rclone mount gdrive:work/backup ~/bkp --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 &
# fusermount -quz ~/bkp
# ... ps -ef | grep rclone -> kill pid

Rclone 卸载

fusermount -qzu <本地路径>
# umount <本地路径>

开机启动挂载

Windows 系统参看 上一节 文中的介绍。Linux 系统按以下步骤进行7)

wget -N git.io/rcloned && nano rcloned
  • 开始挂载 bash /etc/init.d/rcloned start
  • 停止挂载 bash /etc/init.d/rcloned stop
  • 重新挂载 bash /etc/init.d/rcloned restart
  • 查看日志 tail -f /$HOME/.rclone/rcloned.log
  • 修改脚本参数
NAME="gdrive" #Rclone配置时填写的name
REMOTE='work'  #远程文件夹work,网盘里的挂载的一个文件夹,留空为整个网盘
LOCAL='/home/onedrive'  #挂载地址,VPS本地挂载目录
  • 设置开机自启
mv rcloned /etc/init.d/rcloned
chmod +x /etc/init.d/rcloned
update-rc.d -f rcloned defaults # Debian/Ubuntu
chkconfig rcloned on # CentOS
bash /etc/init.d/rcloned start

:?: Mac 系统参看开机启动 中描述。

  • 卸载自启挂载
bash /etc/init.d/rcloned stop
update-rc.d -f rcloned remove # Debian/Ubuntu
chkconfig rcloned off # CentOS
rm -f /etc/init.d/rcloned

tar rclone

rclone 传递大型文件还是很好的,但用作restic仓库就非常的慢。所以比较好的使用方式应该是tar一个大文件过去。

tar cf - /tmp/sync-dir/ | rclone rcat gdrive:work/backup/custom-test-rcat.tar.gz

基本使用

安装 apt-get install rclone

配置 rclone config show

rclone config

name: goldencloud
Google Drive(13)

一路回车,不需要输入邮箱。最后会给一个链接地址,在浏览器中打开这个地址,登陆到相应的GoogleDrive中。谷歌会给一个配对密码,返回Terminal输入这个密码即可。

// 复制 test.txt 文件到云盘的 ftp 目录
rclone copy test.txt goldencloud:ftp 
// 复制 dirc 文件夹到云盘的 ftp 目录
rclone copy dirc goldencloud:ftp 
it/server/rclone.txt · 最后更改: 2022-08-28 18:40 由 goldentianya
回到顶部
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0