前言

大概4个月前挂载过谷歌盘到vps,当时在ai的帮助下一次成功。

但是今天挂载谷歌云盘一直无法配置成功。

升级rclone(之前版本1.45)后得以解决。

旧版本rclone在登陆谷歌并授权的时候,返回的链接输入到浏览器出现如下报错:

请求无效

ssh隧道访问方法,也是授权失败

授权失败

下面详细分享下挂载步骤

详细教程

安装rclone

linux

先查看 rclone 版本(如果已经安装过):

1
rclone version

返回如下

1
2
3
4
5
root@racknerd-e4b009:~# rclone version
rclone v1.45
- os/arch: linux/amd64
- go version: go1.11.6
root@racknerd-e4b009:~#

如果还没安装过,使用如下命令安装最新版本的 rclone:

1
curl https://rclone.org/install.sh | sudo bash

再次查看版本

windows

下载 win 版本 rclone

安装必要依赖:

linux

1
sudo apt install fuse3

windows

安装 WinFsp,WinFsp 提供 FUSE 支持

下载地址:
https://github.com/winfsp/winfsp/releases

添加配置

1
rclone config
  1. 输入 n ,给远程配置命名然后回车。
    新建远程配置并命名

  2. 找到 Google Drive 选项,存储类型输入 Google Drive 前的序号回车。20不要照抄,不同版本rclone会不一样。
    输入googledrive的存储序号

  3. client_id 和 client_secret 默认回车

  4. scope 输入 1,获取完整权限
    输入1

  5. Edit advanced config,输入 n

  6. Use web browser to automatically authenticate rclone with remote?输入 n

  7. 下载 win 版本 rclone,下载后在 rclone.exe 所在目录进入 cmd
    进入cmd

  8. win 端 cmd 执行 类似 rclone authorize “drive” “eyJzY29wZSI6ImRyagZlIn1”(vps 第 6 步后会出现类似这样的命令)win端输入命令

  9. 执行后会自动打开浏览器,登陆谷歌账号,同意授权授权成功

  10. 授权成功后,回到 cmd 把返回的 token 复制粘贴到 vps 终端回车复制token

粘贴token

  1. Team Drive,输入 no

  2. Configuration complete.输入 y

挂载云盘

linux

新建一个目录作为挂载点:

1
sudo mkdir /mnt/gd2

手动挂载测试:

1
rclone mount gd2:/ /mnt/gd2 --vfs-cache-mode writes

Ctrl + C会卸载

如果希望系统启动时自动挂载,可以创建一个 systemd 服务:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
cat > /etc/systemd/system/rclone-google.service << 'EOF'
[Unit]
Description=Rclone Mount for Google Drive
After=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/rclone mount gd2:/ /mnt/gd2 \
--vfs-cache-mode writes \
--allow-other \
--dir-cache-time 12h \
--poll-interval 15s \
--umask 002
ExecStop=/bin/fusermount3 -uz /mnt/gd2
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable rclone-google.service
systemctl start rclone-google.service
systemctl status rclone-google.service

卸载

1
umount /mnt/gd2

windows

win临时挂载(退出cmd就会掉)

1
rclone mount google-yilanbsu: O: --vfs-cache-mode full --network-mode --cache-dir "P:\rclone-cache"

注意:改缓存路径,改成剩余空间足够的盘

文件传输

win端本地文件上传到google盘,如果使用拖拽文件的方式传输文件,win资源管理器显示的速度不是实际上传到挂载盘的速度,是写入到缓存目录的速度。因此win资源管理器结束迁移也不要关闭终端,此时缓存目录的文件还在上传到网盘。

后续同步可以使用如下命令:

1
rclone sync "P:\书籍" google-yilanbsu:/calibre/books --local-encoding None --progress --transfers 16 --checkers 32 --retries 5 --low-level-retries 10 --timeout 1h --fast-list -v

需要特别注意的是,对于google盘,rclone 会把文件名中文标点符号全角自动转为半角—local-encoding None参数可以避免文件名中的全角符号被修改成半角,避免数据库索引出现问题导致找不到文件。