首页 教程相关 最后更新:2021 年 03 月 16 日

相比于AutoRclone,更推荐Rclone修改版Gclone。相比之下操作更简单:使用命令比较少,配置稍微简单一点。Rclone官方教程:https://github.com/donwa/gclone/blob/master/README_zh.md
另一款GoogleDrive转存工具:Google Drive 百宝箱。速度更快,可配合TelgramBot使用,极为方便。

1.下载代码

Linux: 安装screen,git和最新的Rclone。如果是Debian/Ubuntu,直接输入以下命令:

sudo apt-get install screen git && curl https://rclone.org/install.sh | sudo bash

然后从Github下载代码并安装相关Python依赖包

sudo git clone https://github.com/xyou365/AutoRclone && cd AutoRclone && sudo pip3 install -r requirements.txt

2.生成service accounts

首先开启Drive API并将credentials.json保存到你的AutoRclone目录下面
8pTtSK.jpg

然后分三种情况

  • 如果你之前没创建过项目, 直接运行

    python3 gen_sa_accounts.py --quick-setup 5

    创建6个项目(项目0到项目5)
    开启相关的服务
    创建600个service accounts(6个项目,每个项目100个)
    将600个service accounts的授权文件下载到accounts文件夹下面

  • 如果你已经有N个项目,现需要创建新的项目并在新的项目中创建service accounts,直接运行

    python3 gen_sa_accounts.py --quick-setup 2 --new-only

    额外创建2个项目(项目N+1到项目N+2)
    开启相关的服务
    创建200个service accounts(2个项目,每个项目100个)
    将200个service accounts的授权文件下载到accounts文件夹下面

  • 如果你想用已有的项目来创建service accounts(不创建新的项目),直接运行

    python3 gen_sa_accounts.py --quick-setup -1 注意这会覆盖掉已有的service accounts

顺利完成后,AutoRclone文件下面的accounts文件夹下会有很多的json文件。

3.可选:将service accounts加入Google Groups

为了方便管理service accounts,也是为了让我们的Team Drive可以容纳更多的service accounts,我们这里用到了Google Groups。

Official limits to the members of Team Drive (Limit for individuals and groups directly added as members is 600).

对于G Suite管理员
1.按照官方步骤开启Directory API,将生成的json文件保存到credentials文件下。
2.在控制面版里面创建一个群组,创建好你会获得一个类似域名邮箱的地址[email protected]
3.利用API将service accounts加入Google Groups

python3 add_to_google_group.py -g [email protected]

如果想看参数的具体含义,直接运行

python3 add_to_google_group.py -h

对于普通Google账号
直接创建一个Google Group然后手动地将service accounts对应的邮箱地址(可以在json认证文件中找到)挨个加进去。但每次只能加10个,每24小时只能加100个。

4.将service accounts或者Google Groups加入到Team Drive

  • 如果你没有Team Drive,那可以找朋友帮你开一个或者去买一个,实在不嫌弃也可以留言找博主开一个
  • 如果你已经在完成了步骤2中的用Google Groups来管理service accounts,那么直接将Google Groups地址[email protected]或者[email protected]加入你的源Team Drive(tdsrc)和目标Team Drive(tddst)
  • 如果你在步骤2中没有生成并保存credentials.json那么再做一遍

将service accounts加入到源Team Drive

python3 add_to_team_drive.py -d SharedTeamDriveSrcID

将service accounts加入到目标Team Drive

python3 add_to_team_drive.py -d SharedTeamDriveDstID

5.开始拷贝/上传

准备工作都做好了,以后你只需要将项目文件夹拷贝到任何地方,进行此拷贝/上传步骤就可以啦

python3 rclone_sa_magic.py -s SourceID -d DestinationID -dp DestinationPathName -b 1 -e 600

如果想看参数的具体含义,直接运行python3 rclone_sa_magic.py -h
特别地,如果想多开,请用-p参数给不同的复制任务指定不同的端口
如果发现拷贝内容明显少于源Team Drive里面的内容,那么你可能碰到Bug了,请给上运行参数再加上--disable_list_r
如果你一开始就碰到了
Failed to rc: connection failed: Post http://localhost:5572/core/stats: dial tcp :5572: connectex: No connection could be made because the target machine actively refused it.
那么可能是权限或者路径导致Rclone任务都没跑起来,请观察日志文件log_rclone.txt,并结合如下简单命令检查出原因rclone --config rclone.conf size --disable ListR src001:,rclone --config rclone.conf size --disable ListR dst001:
上传

python3 rclone_sa_magic.py -sp YourLocalPath -d DestinationID -dp DestinationPathName -b 1 -e 600


文章评论