批量复制谷歌文件教程

批量复制谷歌文件教程

相聚一刻

现在批量复制谷歌文件都是通过N*750接力换号复制,所以整体方案就是创建service accounts配合rclone命令行实现批量复制。

创建serivce accounts有FolderRclone脚本,也有AutoRclone脚本;复制有AutoRclone与gclone脚本等; 前者复制大量文件切换账号的时候会检验尤其耗费时间,而gclone则完美解决了这一问题,最大效率的无缝切换账号复制。本文采用AutoRclone来创建service accounts,gclone来批量复制。


脚本地址:

https://github.com/donwa/gclone
https://github.com/xyou365/AutoRclone


1. 能批量复制的条件

不论是复制哪些文件,最终的目标路径都一定是团队盘;复制到团队盘之后你就可以移动到个人盘或者直接放在团队盘,哪些东西能复制呢?

1.公开分享的文件夹(无论是个人盘公开分享的还是别人分享的,只要是公开分享的文件夹就行)

2.团队盘(必须你的service accounts在源团队盘和目标团队盘)


2.批量创建Service accounts

只要你按照接下来的命令复制粘贴,基本就没问题,这里只是利用AutoRclone创建账号,无需其他操作,本文以一个全新的谷歌号来创建(没有创建过任何项目)。

下载脚本:

git clone https://github.com/xyou365/AutoRclone && cd AutoRclone

安装依赖(python3环境):

pip3 install -r requirements.txt

创建service accounts:

打开https://developers.google.com/drive/api/v3/quickstart/python,

点击enable the Drive API,会提示你下载credentials.json文件,下载完成之后放到AutoRclone文件夹的根目录,然后运行以下命令创建1200个虚拟账号:

python3 gen_sa_accounts.py --quick-setup 11

简单说明:一个普通的谷歌账号支持创建12个项目,每个项目能创建100个service accounts,一次性创建1200个解决所有复制问题。

运行这行命令之后,按照脚本里的提示开启相关API和授权码即可。之后会创建12个项目并将1200个json文件下载到accounts文件夹目录下,进入这个目录会看到一堆json,这里简单批量重命名下,直接输入:

i=1; for x in *; do mv $x $i.json; let i=i+1; done

此时会重命名为1.json-1200.json,创建虚拟账号的过程也就结束了。


3.将创建好的SA加入谷歌群组方便统一管理

首先将accounts里的整个json打包下回本地保存,方便迁徙到任何服务器使用:

    rar a -m0 accounts.rar accounts

下回本地之后,解压,将下述exe文件放到accoutns目录双击运行:

http://dl.hyqq.win/windows/getuserByFeiFan.exe

脚本运行完成会将json里所有的邮箱地址提取出来。

批量添加进谷歌群组:

一.对于普通用户

https://groups.google.com/forum/#!overviewc创建一个群组,比如sa@groups.gogle.com,然后将这1200个邮箱批量加入即可(注意一天只能加100个,一次性只能加10个)。


二.对于gsuite用户

打开管理界面:

进入之后打开群组:

之后创建群组即可,然后选择这里批量添加邮箱:

按照他的CSV模板,即可批量上传1200个成员到里面。


至此群组的准备工作也完成了,最后就是复制了。


4.使用gclone批量复制

bash <(wget -qO- https://git.io/gclone.sh)

运行上述命令安装即可,然后将配置文件放到默认目录:/root/.config/rclone ,已经写好的配置文件:http://dl.hyqq.win/config/rclone.conf


[sa]
type = drive
scope = drive
service_account_file = /root/accounts/1.json
service_account_file_path = /root/accounts/

4行即可,注意/root/accounts/最后的斜杠不能少,这路径是你存放json文件的目录。


开始复制:

先决条件:你的群组在源团队盘和目标团队盘

首先测试下是否已经在团队盘里,输入

gclone lsf sa:{团队盘ID或者文件夹ID}

正确配置会显示团队盘里的目录文件:

没问题就可以开始复制:

1.设置别名

alias gcc="gclone copy -v --stats 1s --tpslimit 6 --transfers 6 --drive-server-side-across-configs --log-file=/root/log/log_gclone.txt"


2.复制

从公开分享的到自己的团队盘:gcc sa:{#src} sa:{#dst}

从团队盘到团队盘:gcc sa:{#src} sa:{#dst}


参数都是测试之后最稳定最具有效率的复制参数,其中{}里填的都是文件夹ID,直接从浏览器地址栏复制即可,gclone的方便之处就在于可以直接访问账号的所有团队盘,无须路径,4行配置解决所有问题。

查看复制进度:tail -f /root/log/log_gclone.txt



复制就是那么简单,但你有没有1200*750G的资源复制呢~~~~~~

END。





Report Page