使用Colab实现onedrive与onedrive文件跨盘备份

Longli Lv3

写在前面

自mover.io关闭后,OD跨盘备份成了难题。近期微软清退E5订阅,我又没有大流量服务器且不想本地跑备份,所以我利用Google Colab来解决这一问题。感谢谷歌大善人。

注意:仅限目前能正常访问od的账号,已经被封无法访问的账号是无法转移文件的,需要先向微软申请临时解封。文件总量特别巨大建议分批次跑。

以下是小白教程,大佬可以直接本地挂载,拿到配置直链,看Colab运行部分,复制ipynb文件 去跑。

需要准备

  • 便捷的网络环境
  • 一个谷歌账号

本地挂载rclone

也可以不选择本地挂载,直接在Colab里挂载,如果数据量不是很大的话。因为免费版Colab在运行一段时间(大概12个小时)后会重启,中间也有可能会卡住,rclone配置会丢失需要重新挂载。

点击rclone官网下载页面 ,下载符合自己系统版本的rclone。

解压运行,将源盘(以下统称driveA)与目标盘(以下统称driveB)挂载到本地。教程网上很多不再赘述,不会自行百度。

在本地配置好rclone后,将conf文件复制出来,Windows路径为C:\Users\Administrator\AppData\Roaming\rclone
拿到conf文件的直链。可以用alist,也可以上传到文件直链网站。例如:https://up.ly93.cc/ (这个网站需要将后缀名改为txt)。

Colab运行

  1. 点击复制ipynb文件 到自己Google Drive。

  2. 将ipynb第二段代码中的https://example.com/替换为上一步拿到的文件直链。

  3. 将后面代码中的driveA和driveB替换为自己两块盘挂载时对应的名称。

    是全盘备份,可以离线运行但十几个小时后会自动停止,也可能会卡住

  4. 点击上方的代码执行程序,选择全部运行,rclone运行日志存放在/content/rclone_sync.log

  5. 复制完毕后会执行文件检查,对比两块盘内容是否一致。

代码更多配置

安装:

1
2
!curl https://rclone.org/install.sh | sudo bash
“安装rclone”

上传配置:

1
2
3
!mkdir -p /root/.config/rclone
!wget -O /root/.config/rclone/rclone.conf https://example.com/
“手动上传到/root/.config/rclone/或wget下载conf防止colab重启后配置丢失”

复制命令:

1
!rclone copy driveA:/ driveB:/ --stats 10s --log-file=/content/rclone_sync.log --log-level=INFO --checksum

driveA driveB是复制路径,替换为自己rclone配置的名字+要复制的路径,例如:driveA:/foldA/

参数说明:

1
2
3
4
5
6
7
--stats 10s"每10秒输出任务状态"

--log-file=/content/rclone_sync.log "将输出日志保存到/content/rclone_sync.log"

--checksum "MD5校验文件是否重复"

--size-only "通过文件大小来区分文件是否已修改"

文件检查:

1
!rclone check driveA:/ driveB:/

对比两块盘内容是否一致。

NOTICE 表示文件大小和修改时间相同,因此不需要更新。

ERROR 表示文件存在问题(比如文件丢失、大小不匹配等)。

结尾

也可以拿来跑其它跨盘任务rclone支持的应该都没问题,比如od to gd,gd to od。

  • 标题: 使用Colab实现onedrive与onedrive文件跨盘备份
  • 作者: Longli
  • 创建于 : 2025-02-23 10:51:00
  • 更新于 : 2025-06-23 00:47:22
  • 链接: https://blog.longli.space/2025/02/23/2025022301/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论