遠離道學…

Use “AutoRclone + gclone” 教程 Copy GoogleDrive Resources Easy

转自 http://fxxkr.com/2020/03/27/autorclone-gclone-googledrive/

本篇教程最后更新时间(UTC +9)2020年4月10日01:10 CHANGELOG在结尾
由于在TG收到很多朋友的求助而开坑,文章并不是网上一大抄均为作者每一步记录截图编写
分步骤拼接使用系统,所以也与网上原本单程序其他教程流程也不同
总共约8000字,希望各位大爷们看着爽点个赞,谢谢支持
本篇教程基于以下平台VPS及环境进行测试通过后发表
Server : macOS Catalina 10.15.4 Parallels Desktop 15
System : ubuntu Server 18.04 LTS minimal & Debian GNU 10 (buster) minimal
本篇教程的正确食用方法,暂时忘记之前看的别处教程一心看本篇步骤,新人也能学会安装灵活运用
教程编辑进度100%

首先放出全自动运行示例

以上视频是通过 AutoRclone 生成管理 SA.json 文件并通过 gclone 进行对 GoogleDrive 资源进行 Copy 的运行示例

0.介绍本文中使用的程序及其扮演的角色

先介绍一下需要用到的程序各自扮演的角色 Google Drive远程存储对象 本文中出现 {Source:path} {Dest:path}
{Source:path}  资源来源目录:路径
{Dest:path}       资源目标目录:路径 Rclone            存储对象文件上/下行传输/同步/去重等多功能命令行(CLI)管理工具 gclone            Rclone魔改版:支持自动切换SA/突破750G/24h限制 AutoRclone    自动创建Google IAM Project/SA/管理SA

教程目的:全新配置AutoRclone + gclone 利用 ServiceAccounts 突破 750GB/24h 限制
每个ServiceAccounts简称SA等同于一个账号,拥有750GB/24h流量使用权限 每个普通账号可以创建默认最大12个项目,每个项目默认可创建100个SA 剩下的你们计算器算把

教程步骤流程:
安装环境安装AutoRclone生成并配置所需SA安装gclone配置gclone
向GoogleDrive复制资源
具体步骤如下:

1.安装依赖环境&软件 + 下载安装 AutoRclone

首先升级源与安装必备的环境

apt update -y && apt upgrade -y
apt install wget curl screen git sudo python3-distutils -y
sudo -i
#若非 root 用户下面步骤请统一用 sudo 执行

Bash

安装 python3 & pip3

apt install python3 python3-pip -y
#如果找不到pip请按以下命令操作
#由于部分朋友在仓库内找不到 pip/pip3 故提供以下安装方式<
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python3 get-pip.py

Bash

下载并安装 AutoRclone

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

Bash

2.配置 AutoRclone

首先  开启 Drive API2020-04-07_19-40-19-616x45020200604-1

2020-04-07_19-44-26-596x45020200604-1
2020-04-07_19-43-10-653x45020200604-1

将刚才下载的 credentials.json 文件上传至 ~/AutoRclone 目录下
如果你是 windows 系统,你可以利用各类 SFTP 工具上传文件
如果你使用的是 macOS/Linux 可以使用以下命令上传文件

scp 'PATH'/credentials.json 'SSH_USER_NAME'@'REMOTE_IP':'REMOTE_PATH'

'PATH'          本地 credentials.json 文件存放的路径
'SSH_USER_NAME' SSH 用户名
'REMOTE_IP'     VPS的IP
'REMOTE_PATH'   VPS 中 AutoRclone 目录
                以上输入时不要''引号
#如果蛋疼,你在win也可以启用ssh服务后在cmd使用scp

Bash

输入命令可以看到以下文件即成功

ls ~/AutoRclone | grep 'credentials.json'

Bash

2020-04-07_23-04-05-700x4220200604-1
通过 AutoRclone 自动创建+启动项目 & 创建+下载SA文件
官方给出了三种情况举例,其实都是一样的,我们已全新新创建为例

python3 gen_sa_accounts.py --quick-setup 10

命令说明
python3 gen_sa_accounts.py --quick-setup $NUM
'--quick-setup'      作者提供的快速创建方式
                     自动完成 '创建+启动项目' & '创建+下载SA'
'$NUM'               想在创建几个项目就输入几,每个项目最大默认允许 100 个'SA'
                     一般账号许可范围是 '1~12'
                     教程使用是新测试账号所以创建'10'个
#其实不是这个意义,简单教程你们就这么理解吧

Bash

输入命令后会提示请给这个应用授权
2020-04-07_19-55-12-1-700x11220200604-1
2020-04-07_19-55-44-405x45020200604-12020-04-07_19-56-21-266x45020200604-1

2020-04-07_19-56-44-700x32720200604-1
2020-04-07_19-55-12-2-700x10320200604-1

输入授权码后 enter 继续
如果看到以下提示请根据链接打开api
2020-04-07_19-57-50-700x5920200604-1
2020-04-07_19-59-25-700x26920200604-1
按上图启用api后,回到SSH窗口 Enter 继续会自动完成所有创建步骤
Enter 输入后会见到以下提示在屏幕显示

creat projects: $NUM                       #上面命令'--quick-start'输入了几就显示几
Creating $NUM projects                     #同上
Enabling services                          #自动对项目启用对应服务
Creating accounts in 'project name 1'      #在项目1中创建SA 100个
Creating accounts in 'project name 2'      #在项目2中创建SA 100个
Creating accounts in 'project name 3'      #在项目3中创建SA 100个
Creating accounts in 'project name 4'      #在项目4中创建SA 100个
Creating accounts in 'project name 5'      #在项目5中创建SA 100个
.
.
.

Bash

等带所有项目与SA自动创建并下载完成后在 accounts 目录就能看到很多sa文件

ls ~/AutoRclone/accounts

Bash

批量提取 SA email 文件:
提取 accounts 目录内 sa json 中的 email 信息备用
教程测试账号为 google 普通账号,非 GSuite Admin 需要手动添加 SA 进群组
所以推荐选用 10 行分组模式命令如下,命令详情请阅读批量提取相关文章
如果你是GSuite Admin 请阅读 GSuite Admin 专用 CSV批量导入

cat ~/AutoRclone/accounts/*.json | grep "client_email" | awk '{print $2}'| tr -d ',"' | sed 'N;N;N;N;N;N;N;N;N;/^$/d;G' > ~/email

Bash

执行完上步骤后可以把 '~/email' 文件下载到本地自己保存,最后导入GoogleGroup

输入命令获取一个 sa json文件名 自己先记录一下 后面配置需要用到

ls ~/AutoRclone/accounts | awk 'NR==1'

Bash

3.手动解决 AutoRclone 配置时发生的错误

2020-04-07_20-15-59-700x32920200604-1
正常情况 '--quick-setup' 标签会自动完成 创建+启动项目 并 创建+下载SA全过程
如果碰到以上图示错误怎么处理
经过 'Fxxkr LAB' 多次'胡乱不完全测试',基本上与以下几点原因有关
(1)因为与googleapis的通信原因造成的错误
(2)Project中有曾经删除但未到期1个月未完全删除的项目存在会被AutoRclone读取
由于个人情况不同,可能因为网络,也可能是其他原因无法得知大家的错误具体在哪一步
下面给出统一解决方案
为了防止接下来手动创建步骤的SA与本地不完整的文件重复
删除本地所有SA文件

rm -i ~/AutoRclone/accounts/*

Bash

接下来开始手动步骤,确认项目是否已创建

python3 gen_sa_accounts.py --list-projects

Bash

或手动前往 cloud-resource-manager 查看项目是否成功创建

情况分两种
(1)未成功创建,需手动创建,回到 SSH 窗口输入以下命令

python3 gen_sa_accounts.py --create-projects $NUM

$NUM 解释请翻阅上文

Bash

执行作者提供的重置所有项目命令

python3 gen_sa_accounts.py --quick-setup -1

Bash

如果还是看到以下图示错误,请手动执行(2)步骤
2020-04-08_01-16-55-700x15220200604-1

(2)项目成功创建,但项目未正常启用服务 + 创建并下载 SA 文件
输入以下命令,并记录所有的 saf 开头的项目名

python3 gen_sa_accounts.py --list-projects | grep 'saf'

Bash

对项目开启对应服务

python3 gen_sa_accounts.py --enable-services saf-xxxxxxxx
#你有几个 saf 项目就对应输入几次 saf-xxxxx 替换为上一步你记录的项目名

Bash

重置项目中所有的 SA

python3 gen_sa_accounts.py --quick-setup -1
#此时再遇到上文(1)中错误或任何其他错误可以不予理会

Bash

下载 SA 文件至 accounts 目录

python3 gen_sa_accounts.py --path accounts --download-keys saf-xxxxxx
#你有几个 saf 项目就对应输入几次 saf-xxxxx 替换为上一步你记录的项目名

Bash

全部 SA 下载完成后 回到 2.配置AutoRclone – 批量提取 SA email 文件 这一步

4.创建 GoogleGroups 并添加 SA email

前往 GoogleGroup 创建自己的群组
2020-04-08_03-24-19-700x28120200604-1
点击创建后会有一些内容需要你填写,但下面这个群组 email 地址请你务必记住
2020-04-08_03-30-40-700x10120200604-1
创建完成后开始将上文下载的 email 文件内 SA 的 email 添加进群组
每次最多添加10个SA,一天最多添加 100个SA,例如我这里创建了1000个SA需要添加10天
2020-04-08_03-38-55-700x31420200604-1
2020-04-08_03-42-24-700x23320200604-1

5.下载+安装+配置 gclone

下载安装 gclone

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

Bash

开始配置 gclone
首先根据博客之前教程 Rclone 如何关联 GoogleDrive进行设置
原文中设置命令 'rclone config' 修改为 'gclone config'
在配置中需要多填以下2步,其他均一样,配置完需不需要挂载随意(非必须)

'service_account_file'>/root/AutoRclone/accounts/xxxxx.json
#第2步最后自行记录的 sa json 文件名
'service_account_file_path'>/root/AutoRclone/accounts/
#必须写末尾的'/'符号

Bash

最后前往 GoogleGroup 创建自己的群组并将上文下载的 email 文件内 SA 的 email 添加进群组

6.简单使用教程

如果你完成了上面所有的步骤(除去第三步手动排错)那么恭喜你配置成功
从现在起你已经可以开始你的大批量文件搬运生涯了,祝早日破1PB
由于文章细节毕竟多,比较冗长,所以将感谢的话写在最下面

7.鸣谢各大项目作者及开发团队

由衷感谢以下项目的作者与团队
Rclone项目
Spazzlo/folderclone项目
xyou365/AutoRclone项目
donwa/gclone项目
开发们者提供了如此便捷易用的程序,方便了大家在对GoogleDrive等云存储对象使用过程中的各种操作流程,降低了使用难度与时间成本。

8.Linux其他发行版相关命令

预计未来会更新详细命令

本篇教程通用 'Debian/ubuntu' 系统
若你的 'Debian/ubuntu' 版本过低请将 'apt' 命令替换为 'apt-get'
==========================================================
若你使用的是 'CentOS/Fedora' 系统
请将 'apt' 命令替换为 'Yum' or 'DNF' 并替换对应软件包名称
==========================================================
若你使用的是其他系统请替换对应 '包管理命令' 及 '软件包名称'

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *