批量复制谷歌文件教程
相聚一刻
现在批量复制谷歌文件都是通过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。