使用Fclone挂载别人的共享云盘,进行搬运

前言

在TG群里加入一个共享云盘,但是管理员只给了 查看者 权限,而且只有一个邮箱在里面,没办法愉快的搬运,所以只能通过曲线救国的方法进行了。

准备工作

Fclone、SA。如果不了解,或者不想弄,没有SA也可以只是每天有750G上传限制。具体可看前面的博文:

使用Fclone挂载别人共享云盘

这里没有什么多说的,使用 fclone config 挂载可以,也可直接写入配置,具体参考上面博文。在挂载别人的共享云盘时,因为你自己的账户有查看权限,所以使用你自己的API来挂载。

申请Google API

如果没有 Google API 需要申请, 有的话直接跳至 挂载他人的共享云盘

  • 进入 Google API 控制台 ,登录你在想要复制的共享云盘的账户,如果没有项目创建一个项目。

  • 创建完成后进入项目主页,点击侧边栏 凭据 ,如果没有凭据,创建一个。

  • 凭据创建完成后,会弹出 客户端ID客户端密钥

    • 也可以在凭借栏里点击客户端ID查看

  • 到此申请Goole API凭借完成。

挂载他人的共享云盘

  • 通过 fclone config 配置,记得使用自己的API key,配置完成后会生成配置文件 /root/.config/rclone/rclone.conf。查看该文件:

    cat /root/.config/rclone/rclone.conf

挂载自己转存的共享云盘

  • 如果你是通过API,可以直接复制上面查看到的配置,改掉 [NewAlphabet] 名称,该名称是你自己定义的;改 team_drive 的值为你的共享云盘的ID。当然你也可以使用 fclone config 进行配置。

  • 如果你使用SA,那个可以类似这样,在配置文件里添加:

    [byp]
    type = drive
    scope = drive
    service_account_file = /root/.config/rclone/SA/111.json
    service_account_file_path = /root/.config/rclone/SA/
    team_drive = 0AKaaaavsdAUk9PVA
    • service_account_file 为你的SA中任意一个全路径
    • service_account_file_path 为你的SA存放目录
    • team_drive 为你的共享云盘ID

进行复制

  • 此时已经配置好了两个共享云盘,一个 NewAlphabet 是别人的盘,byp 是自己的盘。通过以下命令进行复制,盘的名称可能不同,请对应修改。

    fclone copy NewAlphabet: byp:
    
    # 如果要显示速度
    fclone copy NewAlphabet: byp: -vP
    
    # 比较合适的一个copy命令
    fclone copy NewAlphabet: MyNewAlphabet: --stats=1s --stats-one-line -vP --checkers=10 --transfers=10 --drive-pacer-min-sleep=1ms --drive-pacer-burst=10 --check-first
  • 我在GCP免费小鸡上的速度。GCP到Google Drive的流量是免费的,所以可以一直跑。同样的,这也可以拿来给OneDrive搬家。

  • 后台运行

    • 可以通过 screen 后台。
    • 可以通过 shell 脚本后台。