前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Folderclone来执行谷歌google共享云端硬盘转存相互转移拷贝复制文件

使用Folderclone来执行谷歌google共享云端硬盘转存相互转移拷贝复制文件

作者头像
西方记者
发布2022-02-25 18:02:11
2.4K0
发布2022-02-25 18:02:11
举报
文章被收录于专栏:西方记者华莱士

主要功能:google云端硬盘内个人文件夹/团队云盘文件夹对拷

  • Folderclone
    • Folderclone,增加了服务帐户的TD成员和上载数据TB的,在使用某种算法每个服务帐户(750GB /天)的载配额。
    • 基本上我们可以通过一个项目在TD中添加100个服务帐户。因此,每天可以复制的最大数据是每个项目最大750GB * 100=75TB(每天)。
  • 首先计算您每天要复制的数据大小,取决于创建的项目数量。每个项目最多可以创建100个服务帐户。所以每个项目的复制容量是75tb。复制需要至少2个项目。本教程中TD = Team drive和GD = Gdrive文件夹

> 首先我们需要能全局系统(特别是powershell)能够正常访问谷歌服务项目的机子 如阿里云的港美日win服务器等,本地使用游戏加速器类全局可能会无法执行后面的操作

新建项目

  • 在Google云端控制台上设置2个项目转到此处 在【Google Cloud Platform】 【服务条款】中勾选【同意并继续】
1
1
  • 我们必须创建2个新项目,项目名称随便,例如我的项目名称是“foldercloneA”和“foldercloneB”。

新建项目foldercloneA

  • 在Google云端控制台 【选择项目】【新建项目】
2
2
请输入图片描述
请输入图片描述
  • 在【API和服务】【库】里面搜索【Google Drive API】和【Identity and Access Management (IAM) API】并启用它们。
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
  • 【导航菜单】【IAM和管理】【IAM】
请输入图片描述
请输入图片描述
  • 【服务账号】【创建服务账号】
请输入图片描述
请输入图片描述
  • 【服务帐号详情】【服务帐号名称】随便填 比如我填写的是
请输入图片描述
请输入图片描述
  • 【服务帐号权限(可选)】【请选择一个角色】【Project】【所有者】
请输入图片描述
请输入图片描述
  • 【+添加其它角色】
请输入图片描述
请输入图片描述
  • 【请选择一个角色】【Service Accounts】【Service Account Admin 】
请输入图片描述
请输入图片描述
  • 2个角色【Project-所有者】和【Service Account Admin 】【继续】
请输入图片描述
请输入图片描述
  • 【创建密钥】【密钥类型】选择默认的【JSON】【创建】
请输入图片描述
请输入图片描述
  • 私钥已保存到您的计算机 folderclonea-253301-XXXXXXf.json 可用来访问您的云端资源,请妥善保存。
请输入图片描述
请输入图片描述
  • 打开刚才创建下载的文件folderclonea-253301-XXXXXXf.json找到client_email把里面生成的邮箱记下来
请输入图片描述
请输入图片描述
  • [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */ount.com】

新建项目foldercloneB

  • 在Google云端控制台【创建项目】【foldercloneB】【选择项目】并切换到项目foldercloneB
  • 添加API【Google Drive API】和【Identity and Access Management (IAM) API】并启用它们。方法跟新建项目foldercloneA一样
  • 【导航菜单】【IAM和管理】【IAM】【添加】项目foldercloneA文件folderclonea-253301-XXXXXXf.json里的邮箱地址
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述

并记录保存好foldercloneB_ID

https://baklibcdn2.dagle.cn/73219c1c-641e-49b9-979b-b757f540a0d7/foldercloneB_ID1580728496149.png
https://baklibcdn2.dagle.cn/73219c1c-641e-49b9-979b-b757f540a0d7/foldercloneB_ID1580728496149.png
  • 比如我这里的是foldercloneb-253302

安装Python并配置依赖环境

  • 使用64-bit的Windows

下载Python并安装

  • 下载Python 3.7.4 64-bit 并按如下图所示安装
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述

安装依赖环境

  • 在C:Program FilesPython37目录中按【Shift+鼠标右键】
请输入图片描述
请输入图片描述

打开CMD安装以下依赖环境

代码语言:javascript
复制
python -m pip install --upgrade pip
pip install oauth2client
pip install google-api-python-client
pip install progress
pip install progressbar2
pip install  httplib2shim

设置folderclone

设置folderclone文件

  • 设置folderclone文件 本站下载Multifolderclone-master.zip 或者克隆下载folderclone到本地 解压 移动文件夹到您想要的地方
    • 在该目录下新建文件夹名为CONTROLLER
    请输入图片描述
    请输入图片描述
  • 把项目foldercloneA文件folderclonea-253301-XXXXXXf.json复制到文件夹CONTROLLER目录下
请输入图片描述
请输入图片描述

生成并创建folderclone用户及配置文件

  • 进入folderclone文件夹目录
请输入图片描述
请输入图片描述

运行以下命令

代码语言:javascript
复制
python serviceaccountfactory.py

然后手动输入foldercloneB_ID空格加数字100回车,回车

输入生成的自定义邮箱前缀,比如我用的是users

比如我这里的是foldercloneb-253302 100

请输入图片描述
请输入图片描述

等待完成后会生成文件夹accounts里面会看到1到199的用户配置文件

请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述

这时我们可以压缩保存整个文件夹了。

共享云端硬盘添加成员

  • 查看【共享云端硬盘】的ID
请输入图片描述
请输入图片描述
  • 进入【共享云端硬盘】添加新成员项目folderclone-253301-XXXXXXf.json找到client_email里面的邮箱为管理员
请输入图片描述
请输入图片描述
  • 进入folderclone文件夹目录
请输入图片描述
请输入图片描述

执行python masshare.py -d YYYYYY 其中YYYYYY替换成【共享云端硬盘】的ID

代码语言:javascript
复制
python masshare.py -d YYYYYY
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述

拷贝文件到共享云端硬盘

先获取共享链接,且设置成知道此链接的任何人都可以查看

请输入图片描述
请输入图片描述

例如分享链接https://drive.google.com/open?id=test123321daowjpoawfawf

请输入图片描述
请输入图片描述

那么 id=test123321daowjpoawfawf

如果是别人分享的链接,先右击选择添加到我的云端硬盘

请输入图片描述
请输入图片描述

查看【共享云端硬盘】的ID

请输入图片描述
请输入图片描述

进入folderclone文件夹目录

请输入图片描述
请输入图片描述

在CMD窗口执行

代码语言:javascript
复制
python multifolderclone.py -s 源文件ID -d TD-ID

例如

代码语言:javascript
复制
python multifolderclone.py -s 2ryhcL9GbMQbtlhrmEGVSIGAltE_G5bRA -d 0ANSyUOxsasc0C7Uk9PVA

【共享云端硬盘】文件转移到【我的云端硬盘】

借助【共享云端硬盘】作为文件中转站,我们可以将【共享云端硬盘】里面的文件或文件夹【移至】其它【共享云端硬盘】或者【我的云端硬盘】

请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述

文件所有者会变成我移动者且会占用空间大小

请输入图片描述
请输入图片描述

GD目标文件夹的准备

比如我想要在【我的云端硬盘】里的某个文件夹里面复制转存文件,具体操作如下 安装扩展程序Email Extractor 下载Chrome 浏览器,然后安装扩展程序Email Extractor

请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述

获取源【共享云端硬盘】成员邮箱

切换到目标【共享云端硬盘】然后点击扩展程序【Email Extractor】【Copy all】复制【共享云端硬盘】所有成员的邮箱。

请输入图片描述
请输入图片描述

创建共享目录文件夹添加成员

请输入图片描述
请输入图片描述

在【共享对象】里面用【Ctrl+V】粘贴刚才复制的成员邮箱

请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述

现在您的GD目标文件夹已准备就绪。

GD到GD文件传输

必须先完成上面的GD目标文件夹的准备,然后使用以下代码

代码语言:javascript
复制
python multifolderclone.py -s ZZZZZZ -d DDDDDD

用源文件夹ID替换ZZZZZZ。 并将DDDDDD替换为目标文件夹(您刚设置的文件夹)

必须将共享文件夹添加到驱动器中 源文件夹的公共链接必须处于活动状态,否则服务帐户无法访问源文件夹数据。

TD到GD文件传输

必须先完成上面的GD目标文件夹的准备,然后使用以下代码

代码语言:javascript
复制
python multifolderclone.py -s ZZZZZZ -d DDDDDD

用TD中的源文件夹ID替换ZZZZZZ, 用目标文件夹替换DDDDDD(您刚设置的文件夹)

目标GD所在的帐户present必须是您正在传输文件的TD的管理员。 应在TD和GD中使用相同的服务帐户。

TD到TD文件传输 现在我们要对2个TD进行处理。一个是源TD,一个是目的地TD。

在根据我的原始帖子设置folderclone时,您必须使用这两个不同的TD ID运行masshare.py两次。

代码语言:javascript
复制
python masshare.py -d 源TDid
python masshare.py -d 目的地TDid

之后,为了在TD到TD之间传输数据,请使用以下代码

代码语言:javascript
复制
python multifolderclone.py -s ZZZZZZ -d DDDDDD

将ZZZZZZ替换为源TD中的源文件夹ID 将DDDDDD替换为目标TD中的目标文件夹。

要记住的事项

必须将相同的服务帐户添加到两个TD。 您将使用的源文件夹,必须生成公共链接。 在所有情况下,必须将源共享文件夹添加到驱动器中


注意事项

  • folderclone在拷贝文件夹数目多的时候不全会丢文件,文件夹较少就不会,比如就在那么几个文件夹,哪怕每个文件夹目录下有成千上万个文件也没事
  • 运行CMD窗口不要太多,最好最多就俩个吧,多了会大概率丢文件
  • 速度比【Copy, URL to Google Drive】快
  • Folderclone丢失文件,拷贝不全不完整怎么办?删除重来或者用rclone copy校验补全 文件刚分享或者刚移动文件(夹)不久,不要立刻使用folderclone,有时间延迟,最好适量等侍一会,否则会出现很多空文件夹或者丢失文件太离谱,我一般会隔一天再操作。
  • 使用可流畅访问对应项目的服务器来执行操作。

本文引至567899.xyz 以实际使用做修改

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年02月03日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新建项目
    • 新建项目foldercloneA
      • 新建项目foldercloneB
        • 安装Python并配置依赖环境
          • 下载Python并安装
            • 安装依赖环境
              • 设置folderclone
                • 设置folderclone文件
                  • 生成并创建folderclone用户及配置文件
                    • 共享云端硬盘添加成员
                      • 拷贝文件到共享云端硬盘
                        • 【共享云端硬盘】文件转移到【我的云端硬盘】
                          • GD目标文件夹的准备
                            • 获取源【共享云端硬盘】成员邮箱
                              • 创建共享目录文件夹添加成员
                                • GD到GD文件传输
                                  • TD到GD文件传输
                                    • 注意事项
                                    相关产品与服务
                                    对象存储
                                    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档