Workbuddy太占C盘空间了,写个迁移工具迁走10G的数据

关注我的公众号:【编程朝花夕拾】,可获取首发内容。

01 引言

自从opencode的免费模型限流之后,就一直使用workbuddy完善自己的素笺笔记的项目,今天一看C盘爆红了。排查下来,.workbuddy占了10几个G的空间,删除吧,历史记录就没有了,不删又太占空间。上一次因为C盘爆满导致系统崩溃了,直接重装了系统,现在忍不了一点C盘空间吃紧。

于是,使用workbuddy自己搓了一个迁移脚本,将可以迁移的内容迁移走,且不影响日常的使用。

02 折腾

本想像自己重装一下软件,但是太麻烦了。就让workbuddy自己分析一下,结果可以删除的文件或者缓存并不多,不足以腾出C盘空间。

大数据时代,真的想啥来啥。看技术文章的时候,就看到平台推荐的文章,文章中提到使用目录联接的技术可以解决此问题。

目录联接我是不懂的,让AI看看能否实现:

显然是可行的。那就交给AI写个脚本就好了。

03 目录联接

目录联接到底是什么,总要知道吧。原本以为有点像docker的挂载或者快捷方式,了解之后才发现并不是一回事。

简单来说:目录联接就是给文件夹挂了块「本室已搬走,东西请送新地址」的转送牌,而且这块牌子由 Windows 文件系统自己执行,程序完全察觉不到。

打个比方。你把仓库从 C 盘搬到了 E 盘,但没通知任何人,只在旧门口贴了一张由物业(NTFS)负责执行的永久转送单。快递员(WorkBuddy)仍按通讯录上的旧地址 C:\...\.workbuddy\traces 送货,到门口看到牌子,包裹就被自动转送到 E 盘的新仓库。快递员不用改地址簿,甚至不知道搬家这回事;旧门口不再堆任何东西,只剩那张几百字节的牌子。

这里有三个容易搞混的点,也是它真正好用的原因:

  • 程序无感:转送是文件系统层面做的,不是应用配合的。应用日志、配置、数据库里记的地址一个字都不用改。
  • 始终只有一份:它不是同步,也不是备份。C 盘没有留副本,改的就是 E 盘那一份。
  • 牌子本身几乎不占地方:几百字节,之后所有新日志、新快照都长在 E 盘,C 盘这个位置不会再变大。

也正因为如此,它和我们熟悉的两样东西完全不是一回事:

和容器的挂载同样不是一回事。

目录联接是刻在磁盘上的一块牌子,谁来看都在;Docker 挂载是给容器进程戴的一副眼镜,只有戴上的人看到,摘掉就没了。前者改的是目录本身,后者改的是某个进程的路径视图。

04 迁移工具

制作迁移工具,为了能够看到迁移了什么,可以增加图形化界面。

等待成品即可。

4.1 工具界面

界面的内容包括了扫描、预演、导出、验证、回滚、删除备份以及开始迁移等功能。

4.2 扫描

防止迁移过程中文件被占用,需要自行退出Workbuddy,所以需要用户确认勾选。扫描之后就可以看到可以迁移的文件状况了。

4.3 日志

为了清楚的知道在做什么,还罗列了迁移清单、映射视图、执行日志以及使用说明。

4.4 迁移

预演完成(也可以不预演),直接进行迁移。

迁移过程我们可以看进度,也可以看执行的日志。

迁移完成之后,会有一个迁移的清单给我们确认。

迁移完成之后,直接启动Workbuddy查看是否正常,正常的话,可以删除备份了。要不然C盘清理不出来。

我原来10几G的内容,迁移狗就只能剩下1.25G了,真的节省了很多空间。

05 小结

有AI真的太方便了,不懂的技术、语言。只要你有想法就可以实现出来,小小迁移工具,拿捏!

需要此工具的老铁可以自提。

仓库地址:github.com/simonking-w...

相关推荐
Hvitur36 分钟前
Java - Lambda
java·开发语言·python
挖掘狂人44 分钟前
Token 都上双十一货架了,AI 电脑的账该怎么算?
大数据·程序员·ai编程
喵了几个咪1 小时前
GoWind Flow 拆解:一个 Go 工作流引擎与它的双模式设计器
开发语言·人工智能·后端·golang
倔强的石头_1 小时前
AI数据库是什么?我把金仓KES的库内三件套拆开看了一遍
后端
杨凯凡2 小时前
Spring Boot 大文件下载如何实现断点续传?HTTP Range、206 与 416 实战
spring boot·后端·http
量化分析码农2 小时前
股票实时行情接口返回字段说明:单次请求的时间字段与数值类型
后端
深蓝AI4 小时前
26.1% 的 Agent 技能带漏洞:skills 霸榜 GitHub 当天,NVIDIA 和 OpenAI 同时掏出安检仪
人工智能·程序员
apcipot_rain6 小时前
C++转Java日记(06)
java·开发语言