# Onedrive 迁移方案记录

7 min read
Table of Contents

本文所提到的 onedrive 包含 onedrive 和 sharepoint 两种,它们本质上都是 sharepoint ,同时文中提到的 od 都是指它们。

  • 迁移 OneDrive 时应当考虑 api 限制问题。

  • 目前未知 clouddrive 是否会重试失败任务。

  • 本文只考虑向较为稳定的网盘迁移,国内网盘如百度、阿里、123盘不考虑。

  • 本次记录从 od E5 到 od E5/家庭版 、 pikpak 、 115 的迁移方案。

秒传情况

秒传 就是两个云盘之间的文件可以快速相互上传,不用等待。

左侧为来源网盘、 顶部为目标网盘

onedrive/sharepointpikpak115
onedrive/sharepoint×

onedrive/sharepoint >> onedrive/sharepoint

rclone 是最优解,其他的一概不推荐。

一般来说直接用 rclone 复制即可。

rclone copy "backup01:/汉化会社合集部分 part8/" "s1:/汉化会社合集部分 part8/" -P
rclone copy "backup01:/汉化会社合集部分 part8/" "s1:/汉化会社合集部分 part8/" -P --onedrive-chunk-size 100M

加上 -P 可以持续输出日志。如果有报错,可以再运行下面这行,输出错误日志,看看哪些文件出错了。一般是文件报毒,没加密压缩上传导致的。这种情况在网页版 od 仔细翻翻就可以取回了。

rclone copy "backup01:/汉化会社合集部分 part5/" "s0:/汉化会社合集部分 part5/" --log-level ERROR --log-file hh5.log

如果想同步(删掉目标文件夹的一些文件实现同步),可以用 sync 命令。

rclone sync -v R2:/img sayafx02:/img-backup -P

另外再记录一种情况,想要批量复制文件夹到另一个盘中。

例如最近我要把 E5 od 的 2T 文件夹分开迁移到家庭版 2 个 1t 的 od 中。如下所示。

E5/Folder1 300g
E5/Folder2 300g
E5/Folder3 300g
E5/Folder4 300g
E5/Folder5 300g
E5/Folder6 300g
Personal-1/Folder1 300g
Personal-1/Folder2 300g
Personal-1/Folder3 300g
Personal-2/Folder4 300g
Personal-2/Folder5 300g
Personal-2/Folder6 300g

由于我没找到 rclone 有类似的命令,等上一条复制完再添加下一个,有些麻烦而且说实话有点蠢。貌似有把需要复制的文件放在一个文本文件里再读取复制的方法,但由于家庭版的 od 号实在是太多了,这么做也很麻烦。

于是我用了 1panel 的计划任务,如果不设置 --onedrive-chunk-size 大约是 4h 搬运完一个文件夹(100g上下)。设置好命令和时间,剩下的只有等待了。

由于个人版 od 不能申请自己的 api 了,所以会慢一些。另外如果调高 --onedrive-chunk-size 的值,内存消耗会急剧增加,省事省力还是使用默认的吧,正好内存占用小,还可以多运行几条命令多线程搬运。

最后把运行成功的计划任务 停用 或者删除就OK了。

image-20241008141544577

onedrive >> pikpak

1T 以内

把 onedrive 和 pikpak 都挂载到 Alist ,然后用 Alist 复制。(现在的会员每个账号每月只有1t的上传流量,用工具复制算在上传流量里面)

用 Alist 从 od 到 pikpak 是可以秒传的。

超过 1T

  • 方案一

可以分批用 rclone 向多个会员账号迁移,最后汇总到一个号上。

  • 方案二

把 onedrive 挂载到 onemanager 或 Alist ,然后用直链在 pikpak 云下载。

推荐用 cmd 或其他神秘方法生成 onedrive 的目录列表,然后加上域名和路径,拼接出直链批量云下载。

云下载时要注意 onedrive 的 api 限制,具体没测试,大概 1h 50个文件,不然等到碰到 onedrive 限制了,pikpak 传输列表会一堆报错。

PS: 目前 pikpak 挂载到 Alist 需要获取 刷新令牌、验证码和设备id,并且时不时会掉登录,挂载方式不是很稳定,可能下次官方再整次活,挂载方式又变了。

onedrive >> 115

探索

115 的登录 Cookie 可以用 Alist 官方文档提供的方法,我用的是 使用Python脚本获取 Cookie

登录时使用 微信/支付宝 小程序的 Cookie,日常很少会用到且较为稳定。如果用 Android 或者 IOS 的 Cookie 挂载,当你用手机登录时,Alist 那边对应的登录会掉。

  1. 网上搜到的那个支持 115 的改版 rclone 不能用 copy 命令。

  2. 直接用 Alist 迁移会在本地留下和文件同大小的缓存文件,迁移大文件不合适,会直接把 vps 的硬盘撑爆。不过支持秒传这点很好,迁移起来很快。

  3. 用 Alist 挂载 onedrive 和 115 ,然后把 Alist 用 WebDAV 挂载到 rclone ,用 rclone 的 copy 命令貌似无法写入 115 。

实际使用方案

clouddrive2 可以使用,还算稳定,没有缓存文件,内存占用小

本来想把 Alist 用 WebDAV 添加进去,就不用去一个个添加 onedrive 了。没想到只能读到文件列表,迁移时发现疑似无法从 WebDAV 下载。

clouddrive 需要购买会员,由于我只是偶尔用一下,开了 5¥ 的月度会员,价格不算贵。


就在我已经迁移了 5t 的时候,用 115 的 cookie 登录挂载上传的方法又挂逼了,疑似偶尔才可以用。无法秒传的文件的迁移计划基本寄掉了。并且听说 115 高峰期时限速很严重,所以暂时不打算向 115 备份了,目前迁移了 5t 之后就再没动过了。

本文用到的工具

My avatar

Thanks for reading my blog post! Feel free to check out my other posts or contact me via the social links in the footer.


More Posts

# Unity Shader 入门笔记vol1--第一束光

9 min read

本人从 2024 年 3 月初识技术美术,然后一边烦恼一边在各大平台乱逛,想要了解这个职位究竟如何。期间也断断续续学了一点点,就这么犹犹豫豫半年过去了,直至前阵子总算清除了所有的迷惘,并且学过了那些基础的光照模型。

Read

Comments