file

Linux使用rclone(魔改版)挂载世纪互联onedrive教程

获取应用 ID 和密匙:

地址:https://portal.azure.cn/ ,登录完成后按下面步骤进行

左侧Azure Active Directory->应用注册->新注册.

file

名称部分:随便写->受支持的账户类型:任何组织目录(任何 Azure AD 目录 – 多租户)中的帐户
—重定向 URI (可选):http://localhost:53682 —注册,然后记住应用程序(客户端) ID。

file

file

获取密匙:左侧证书和密码—右侧客户端密码部分:+新客户端密码

file

左侧 API 权限—添加权限—Microsoft Graph—委托的权限— 搜索并勾选下面 6 个权限:

    Files.Read
    Files.Read.All
    Files.ReadWrite
    Files.ReadWrite.All
    offline_access
    User.Read

file

到这样,就注册结束了!用记事本记录一下 ID 和密匙(后面用到)。

开始挂载

下载rclone,根据系统选择下载。(下载地址:https://pan.baidu.com/s/12fAXoCSPQNwul1Kjhs-ZZw 提取码: 33ah),然后Windows 命令行进入 rclone 所在文件夹,执行命令:

rclone authorize onedrive "应用程序(客户端) ID" "客户端密码值" --onedrive-is-21vianet-version=true

之后会跳转到浏览器,登录账号之后返回 Windows 命令行,会返回 token,复制保存下来,后面要用。

file

  • 将 linux 版的解压上传到usr/bin目录(必须此目录).
  • 然后给权限 chmod +x /usr/bin/rclone
  • 执行 rclone config
  • 就进入了和官方版 rclone 一样的挂载程序,和国际版 onedrive 不同的是:client_id填写应用程序(客户端) ID,client_secret填写客户端密码。is_21vianet_versiontrueEdit advanced config 以及 Use auto config 都选 no,下一步粘贴上之前在 Windows 获取的 token,继续按提示完成之后的步骤。

然后

#安装 fuse
yum install fuse
#创建挂载目录,目录叫什么都可以
mkdir -p /home/one
#挂载
rclone mount kieng(在绑定账号时起的名字):/ /home/one(挂载目录)
#后台运行就加一个&
rclone mount kieng(在绑定账号时起的名字):/ /home/one(挂载目录)&
有的会重启之后就会挂载失效.再次运行上面的命令或者自己设置一下开机自启即可.

rclone参数设置:

rclone mount:rclone 挂载命令

-vv 调试模式,将所有运行状态输出到终端显示,以便查看命令执行情况

test2:/bucket1:test2 为生成配置文件第一步时设置的name名称 ,bucket1 是桶名称

Q: :挂载的磁盘盘符名称,不能用已经分配了的磁盘盘符

--cache-dir:上传文件前会先将文件缓存到这个目录下,在往桶中写入

--allow-other:允许非当前 rclone 用户外其它用户进行访问

--attr-timeout 5m:文件属性缓存,(大小,修改时间等)的时间。如果 VPS 配置比较低,建议适当提高这个值,避免过多内核交互,降低资源占用。

-vfs-cache-mode full:开启 VFS 文件缓存,可减少 rclone 与 API 交互,同时可提高文件读写效率

--vfs-cache-max-age 2h:VFS 文件缓存时间,默认是1个小时,注意这个时间是从文件上传到缓存中成功后的时间而不是文件上传到远程成功后的时间,这里设置 24 小时,如果文件很少更改,建议设置更长时间

--vfs-cache-max-size 10G:VFS文件缓存上限大小,建议不超过当前空余磁盘的50%,注意实际使用时可能会超过这个上限值,因为首先只有当有文件上传时才会去检测一次剩余的缓存容量空间,其次当正在有文件上传,而这个文件大小已经超出了缓存上限容量的剩余空间时,rclone不会删除正在上传的文件的缓存文件,而是待文件上传到桶成功后,才会去自动清除最开始上传的缓存文件以使总空间维持在上限以内

--vfs-read-chunk-size-limit 100M:分块读取大小,这里设置的是100M,可提高文件读的效率,比如1G的文件,大致分为10个块进行读取,但与此同时API请求次数也会增多,从桶中读取文件时只会下载文件的该参数值+--buffer-size参数大小的内容到本地,这个参数的大小是存在磁盘上,--buffer-size是存在内存中

--buffer-size 100M:内存缓存,如果您内存比较小,可降低此值,如果内存比较大,可适当提高

--fast-list:如果你文件或者文件夹数量多加上该参数,但会增加内存消耗

--checkers 64:并行检查文件数量,默认为8

--transfers 64:文件并行传输数量 默认为4

--daemon:指后台方式运行,linux上支持,windows下不支持

测试命令

rclone mount -vv test2:/bucket1  Q: --cache-dir c:\temp  --allow-other --attr-timeout 5m --vfs-cache-mode full --vfs-cache-max-age 2h --vfs-cache-max-size 10G --vfs-read-chunk-size-limit 100M --buffer-size 100M --fast-list --checkers 64 --transfers 64  &

人已赞赏
教程笔记

查看linux中所有用户的三种方式

2020-12-19 15:07:51

教程笔记

CentOS 卸载软件

2020-12-21 10:46:10

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索