Loading... <div class="tip share">请注意,本文编写于 420 天前,最后修改于 323 天前,其中某些信息可能已经过时。</div> 我是一个仓鼠症患者,喜欢收集各种资源,哪怕收集之后自己可能根本不会再看一眼,但还是乐此不疲。这几年里,我从各种地方保存资源,又尝试了各种不同的云存储方案。也算是对资源获取、下载、转存等有了点心得,今天就专门讲讲如何在不同云存储之间转存数据。 > 注:这里的od指onedrive,gd指googledrive ## 通用 [multcloud](https://www.multcloud.com)   multcloud支持googledrive、onedrive、dropbox、百度网盘、webdav等主流云存储,甚至也支持owncloud这种自建网盘(见上图)。使用方法也很简单:添加相应的网盘,授予权限,选中文件转存到其他网盘。其原理应该用自己的服务器作上传下载中转。以前试过,每个月免费额度只有30G,而且速度也很慢(18年是这样的,不知道现在有没有改善)。会员又很贵,有这钱用自己服务器传不好吗。 不过还是推荐一下,懒得操作又土豪的人可以考虑上。 <div class="tip inlineBlock success">20200305补充:Mover</div> 官网:https://mover.io/ 目前是免费、不限制网盘数量、不限制流量的,而且可以自动跳过同目录重复文件。已被微软收购。 支持将“Mover Agent / Amazon S3 / Amazon WorkDocs / Microsoft Azure / Box / Dropbox / Egnyte / FTP / Google Drive / Office 365 / OneDrive / SFTP / SharePoint Online / WebDAV”中的文件迁移到自己的服务:“Azure Blob Storage / Office 365 (OneDrive/SharePoint Admin) / OneDrive Consumer / OneDrive for Business (Single User)”中。 博主并未进行测试,据说效果还行。 ## 同域下od之间互传 这里的同域指的是`同一组织`,也就是账号的后缀是一样的,比如我发给大家的账号,后缀都是`@nii.ink`,那么这些账号之间就可以互相发送资源(~~所以大家有好资源还不赶快分享给我~~)。 同域下,可以利用onedrive的分享功能一键转存。首先,点击分享文件夹右侧的竖三点->`共享`。  输入对方的账户(test01@nii.ink),发送即可  登录目标od账户(test01@nii.ink),在`已共享`中就可以看到这个文件啦。  不过原始资源删除的话,共享文件也会失效,所以我们要把它放到自己od中。 点进去`测试文件夹`,跳到新的界面,选中之后,会发现上面出现了一排选项  选择`复制到`->`你的onedrive`,就可以保存到自己的od里啦。 <div class="tip inlineBlock error">千万不要点`移动到`,否则原始文件夹就会消失,当然如果两个账户都是你自己的话就无所谓了</div> 不同域od之间似乎不能这样做,所以需要下一个方法。 ## 不同域od、odgd互传 准备工具:VPS(KVM虚拟,OPVZ就别想了,最好是国外的,国内VPS,带宽低不说,而且对ODGD非常不友好),rclone * [rclone官网](https://rclone.org) * [github地址](https://github.com/ncw/rclone) > 这里把以前的笔记贴上来,之前用的rclone版本与现在不一样,具体细节也有所差异,大家自行调整即可。另外,rclone也支持mega、Dropbox等网盘,具体参考官方文档。 > > 如果你对VPS一点了解也没有的话,可以参考我以前写的两篇文章,[VPS购买](https://www.sitstars.com/archives/29/)与[VPS实战](https://www.sitstars.com/archives/32/) 以od为例: ### 获取access token * 下载windows版本rclone * 将Windows版的rclone.exe解压至临时目录,如`D:\rclone` * 运行以下命令 ```code D: cd D:\rcloe\rclone-v1.44-windows-amd64 rclone authorize "onedrive" ``` * 弹出浏览器让你登录onedrive,成功后返回一大串字符,格式形如`{"access_token":…………,"expiry":"2018-10-24T22:00:34.4727628+08:00"}`(复制的时候连同花括号也复制进去) ### 安装 连接VPS,运行命令 ```code wget https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip chmod 0755 ./rclone-*/rclone cp ./rclone-*/rclone /usr/bin/ rm -rf ./rclone-* ``` 或: ```code curl -O http://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip cd rclone-*-linux-amd64 cp rclone /usr/sbin/ chown root:root /usr/sbin/rclone chmod 0755 /usr/sbin/rclone ``` ### 配置 输入命令`rclone config`,进入配置界面,注释均为选项解释 ```code No remotes found - make a new one n) New remote s) Set configuration password q) Quit config # 需要加密码保护配置信息就按 s 进入设置密码,若不需要,按 n 进入连接网盘。 n/s/q> # n name> # 自定义名称,我这里是yanshu Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / A stackable unification remote, which can appear to merge the contents of several remotes \ "union" 2 / Alias for a existing remote \ "alias" 3 / Amazon Drive \ "amazon cloud drive" 4 / Amazon S3 Compliant Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio) \ "s3" 5 / Backblaze B2 \ "b2" 6 / Box \ "box" 7 / Cache a remote \ "cache" 8 / Dropbox \ "dropbox" 9 / Encrypt/Decrypt a remote \ "crypt" 10 / FTP Connection \ "ftp" 11 / Google Cloud Storage (this is not Google Drive) \ "google cloud storage" 12 / Google Drive \ "drive" 13 / Hubic \ "hubic" 14 / JottaCloud \ "jottacloud" 15 / Local Disk \ "local" 16 / Mega \ "mega" 17 / Microsoft Azure Blob Storage \ "azureblob" 18 / Microsoft OneDrive \ "onedrive" 19 / OpenDrive \ "opendrive" 20 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH) \ "swift" 21 / Pcloud \ "pcloud" 22 / QingCloud Object Storage \ "qingstor" 23 / SSH/SFTP Connection \ "sftp" 24 / Webdav \ "webdav" 25 / Yandex Disk \ "yandex" 26 / http Connection \ "http" Storage> 18 # 这里选择18-onedrive ** See help for onedrive backend at: https://rclone.org/onedrive/ ** Microsoft App Client Id Leave blank normally. Enter a string value. Press Enter for the default (""). client_id> # 留空,回车即可 Microsoft App Client Secret Leave blank normally. Enter a string value. Press Enter for the default (""). client_secret> # 同样留空回车即可 Edit advanced config? (y/n) y) Yes n) No y/n> n # 一般不需要高级设置,选择 n 就好 Remote config Use auto config? * Say Y if not sure * Say N if you are working on a remote or headless machine or Y didn't work y) Yes n) No y/n> n # 如果是在 VPS 上连接,选 n 吧 For this to work, you will need rclone available on a machine that has a web browser available. Execute the following on your machine: rclone authorize "onedrive" Then paste the result below: result> # 把前面得到的那串代码复制进来,注意花括号内 Choose a number from below, or type in an existing value 1 / OneDrive Personal or Business \ "onedrive" 2 / Root Sharepoint site \ "sharepoint" 3 / Type in driveID \ "driveid" 4 / Type in SiteID \ "siteid" 5 / Search a Sharepoint site \ "search" Your choice>1 Found 1 drives, please select the one you want to use: 0: OneDrive (business) id=b!n8zIv2a0FkyOikre4C4be9QtgWS6ju9FgSd3Sy5eZVXWY5IWXZUQTYTBe8OH4e9x Chose drive to use:> 0 ``` 接下来畅通无阻,最后 ```code y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y Current remotes: Name Type ==== ==== yanshu onedrive e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q ``` 按照这种方法,你可以添加不同网盘(GD不需要第一步,中间会生成一串链接,复制链接到浏览器,登录GD后会生成一串代码,把代码复制到SSH上即可) ### 同步 运行命令 ```code apt-get install screen # centos是yum screen -S rclone #第一次同步大量数据使用 screen 会话尽可能保护 rclone 执行不被中断 rclone copy drive01name:Folder drive02name:Folder ``` `drive01name`就是原数据所在盘,`Folder`就是原数据所在文件夹。`drive02name:Folder`就是转存目标盘和目标盘中的文件夹。 第一次同步完成,就可以 VPS 上(每天/周/月,按需选择)定时执行脚本自动同步。可以选择使用 rclone_copy --ignore-existing 进行增量备份(没有实测,按官方说明是可以实现),或者使用 rclone sync 同步。 <div class="tip inlineBlock warning">需要注意的是,OD和GD都有流量限制,OD大概是1T/天,GD大概是750G上传+10T下载/天</div> ## gd之间互传 类似同域OD互传,借助GD分享功能即可。 首先,获取共享链接  然后在新浏览器(或无痕模式)登录另一个GD账号,复制共享链接到新浏览器中,保存到新GD中。 但是这种保存本质上来说只是存了一个快捷方式,你只有浏览的权限,而没有重命名、移动、删除单个文件的权限,如果原文件取消分享,那快捷方式自然也就失效了,所以我们也需要把它真正存到GD中。 GD有个特殊机制,就是对单个共享文件进行复制,就会生成一个你具有完全权限的副本,但是只对文件有效,文件夹无效,而且不能批量操作。不过GD提供了相应的API,也有专门的第三方程序帮我们完成这一工作。 右键某个共享文件夹->`打开方式`->`关联更多应用`  搜索`copy`,关联`Copy,URL to Google Drive`,也就是上图已经存在的应用。  回到GD,重新右键共享文件夹,用`Copy,URL to Google Drive`打开,跳到转存界面,Save即可。  转存完成后,GD中就会有一个`Copy of……`文件夹,也就是共享文件夹的副本啦,这样你就可以对该文件夹随意修改操作,也不怕原文件失效了。  <div class="tip inlineBlock warning">用这种方式转存,同样遵循每日750G的上传限制,也就是说你每天最多转存750G的数据</div> ## 百度、115、OD、GD互传 国内的网盘大多没有开放api权限,只能通过官方客户端进行下载上传,所以你需要有个`windows`系统的VPS,然后下载百度网盘、115浏览器等等,手动下载上传,这没什么好说的。说几个值得借鉴的经验吧。 1、最好有百度、115等网盘的会员,速度才有保障。 2、百度网盘即使开了SVIP,用官方客户端也无法满速,这时候可以借助第三方客户端,比如pandown什么的(好像现在凉了,大家可自行寻找替代品,暑假的时候用pandown开64线程,下载速度能有近百M,是真的舒服)。另外有人反应下载达到一定量百度也会限速,不过我是没遇到这种情况(之前十几天内断断续续下了5、6T,也没有碰上限速)。 3、百度网盘在国外速度还是可以的,测试美西下载速度能跑满带宽,所以大家最好选择美西服务器,远程连接也不卡顿,下载体验也好。115出了国门就废,要下载的话还是选择国内服务器。服务器的选择方面,当然是硬盘最重要,毕竟你要留够空间暂存数据,如果有压缩包可能还要解压。 4、windows服务器一般要比Linux服务器贵,大家可以自行dd windows系统,分享一个萌咖大佬的代码,一键dd win7系统 ```code wget --no-check-certificate -qO InstallNET.sh 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh' && bash InstallNET.sh -dd 'https://moeclub.org/onedrive/IMAGE/Windows/win7emb_x86.tar.gz' ``` 需等待一段时间。初始帐户:Administrator;密码:Vicer 进入系统后无论多大硬盘都只会显示5G,若要显示完整容量,需`计算机右键>管理>磁盘管理>C盘右键>扩展卷`,一路回车即可 修改远程登录密码:`控制面板>用户账户>更改windows密码` <div class="tip inlineBlock warning">DD不一定都能成功,至少我测试的有些VPS就会失败,可能是我姿势不对吧……</div> 5、说到国外服务器了,我也不敢轻易推荐什么VPS,就说几个我用过的吧(穷,所以用的都是低价和特惠款): * [Vultr](https://www.vultr.com/),支持按小时付费,正是这个特点让它很多ip都不行了……如果你耐心开的话还是有可能开出能用的ip的。新用户充值送50刀,你就可以直接开一个顶配win系统的VPS,50刀足够你用十几天了,而且硬盘也大(320G还是640G来着),适合攒够资源一次性搬迁。 * [virmach](https://virmach.com/),虽然大家吐槽它,但这居然是我唯一能DD成功的VPS,所以也就一直放着了。 * [onevps](https://www.onevps.com/),趁优惠开了个德国VPS,百度网盘居然也能有30多m的下载速度。 以上经验仅供参考,大家有钱的话可以无视。 <div class="tip inlineBlock error">20191219更新:virmach涉嫌歧视国人,强烈建议不要购买他们家的机器。见帖子:https://www.hostloc.com/forum.php?mod=viewthread&tid=629073&highlight=vir</div> 6、如果是百度网盘和115互转的话,国内服务器其实是最好的方案。去阿里云或腾讯云开个学生机,一个月也就10元左右,而且可以随便换win系统和linux系统,硬盘也还行(40G-50G,不够的话再加嘛)。有人可能说1M带宽要传到天荒地老啊,其实不是的。1M带宽是服务器上行带宽,下行带宽一般是比较大的(实际测试下来阿里腾讯的下行带宽大概是100M左右),所以下载百度网盘和115资源,都能达到10M左右的速度,挂着等就好了,也不用占用自己的电脑。那上传呢?对我来说其实不是事,因为我没有私人数据,大多数数据都是百度或115上已经存在的数据,所以根本不需要上传带宽,直接就`秒传`了。目前我用的就是这种方案,感觉还不错。当然,如果你有很多私人数据,那可能就要另寻它法了。 以上就是我总结的几种不同网盘数据转存方案,大家有更好的方法可以告知于我。<hr class="content-copyright" style="margin-top:50px" /><blockquote class="content-copyright" style="font-style:normal"><p class="content-copyright">版权属于:雁陎</p><p class="content-copyright">本文链接:<a class="content-copyright" href="https://www.sitstars.com/archives/67/">https://www.sitstars.com/archives/67/</a></p><p class="content-copyright">转载时须注明出处及本声明</p></blockquote> Last modification:March 5th, 2020 at 01:43 pm © 允许规范转载
同域下OD直接复制到不会报错吗?反正我之前用全局管理子账号文件如果目录复杂(多层或文件多)经常报错,操作方式不同莫非结果不一样(应该不会吧)?
之前测试的简单的文件夹结构是没有报错,可能复杂的真会报错吧……
另外mover真香,目前在用来把gd保存的分享转od,实现“省流量"下载,甚至顺便把25T的前置条件达成了。缺点是不支持世纪互联以及接受只支持微软家的。
大佬问下,别人GD团队盘的东西,自己加入了,怎么存到自己的GD里啊。试了下Folderclone,Linux用不了。求解。ヾ(≧∇≦*)ゝ
比较简单的方法,win用AirExplorer,Android用Mixplorer。两边是同账户可以服务端传输(体验上与秒传差不多)。 如果大批量文件建议用AirExplorer同步模式,否则容易漏文件。 注意要两边是同一账户才可以服务端传输(不需要下载上传)。
团队盘我没用过诶,你看看gclone可不可以,https://github.com/donwa/gclone/blob/master/README_zh.md
不行啊,老哥,同域名的OD,提示“仅查看”,不能复制到第二个OD网盘
你要点进去共享文件夹,跳转到新窗口才行的
可以,我觉得OK