OTG U盘迁移Hermes:最笨的方法,最稳的结果
nc传输断了三次,U盘只插了一次。388MB的备份,土办法赢了。迁移跑通之后我盯着两台手机看了半天——然后发现了一个更可怕的事:全自建架构,一台挂了,全挂。
TL;DR
把Hermes从一台手机搬到另一台,我试过网络传输(nc),断了三次;最后用OTG U盘物理拷贝,一次成功。但这次迁移真正教会我的不是”土办法好用”,是”靠谱不等于可扩展”——一台设备承载了全部,没有任何生产级兜底。
一、起因:手机要换了,家底要搬家
9月初,手里的这台设备要退役换新。Hermes全在这台手机上跑着:新闻播报、股票脚本、每日反思、H3MS知识库,全在这台手机的Termux里。
退役没问题。问题是,新家底搬不走。
备份388MB。手机对手机传输,我第一反应是网络——两台设备都在家里WiFi下,nc(netcat)一把梭,多快多省事。
我甚至想好了:源端tar -czf - ~ | nc -l 9999,目标端nc 192.168.2.23 9999 | tar -xzf -。一行命令,优雅,符合”非技术人已经会写管道命令”的自我认知。
然后它断了。
第一次断,我以为WiFi抽风,重连。第二次断,我怀疑是手机后台把Termux进程杀了,加到前台再试。第三次断,388MB传到一半,进度条直接消失,日志里干干净净,连报错都没有。
nc这东西,断就是断,没有”断点续传”这个概念。断了就是从头来。
二、土办法:U盘插手机上
当时我记得自己说了一句话,后来翻记录看到,原话是:“网络传输太慢,想起手机支持OTG。”
“想起”两个字很关键——不是”研究了半天发现OTG可以”,是脑子里有个东西忽然冒出来了。Android手机支持OTG这件事,我早该知道,但它是”知道”和”想起”之间隔了一个断掉的nc传输。
土办法三步:
源端:U盘插OTG头,cp hermes_complete_backup.tar.gz /mnt/media_rw/F69C43E49C439E4D/。等它写完,拔U盘。
目标端:插U盘,cp /mnt/media_rw/F69C43E49C439E4D/hermes_complete_backup.tar.gz ~/。MD5校验,两边一致:2aee171286ac4e64c7c8e9d741c2f2d2。
收尾:目标设备设置PATH,重启gateway。一切恢复。
全程没有一条数据进过WiFi。一个物理介质,拔下来,插上,完事。
三、MD5那一瞬间
拷贝完,我先没急着拔U盘,先跑了MD5。
源端md5sum hermes_complete_backup.tar.gz,目标端再跑一遍。两边输出:2aee171286ac4e64c7c8e9d741c2f2d2。
那一瞬间我盯着两个一样的哈希看了几秒。不是感动,是确认——这388MB是真的过去了,一个字节没丢。
这个习惯是nc断了三次之后落下的。网络传输那种”以为传完了其实没传完”的恶心,让我现在做任何物理拷贝,第一反应是校验,第二反应才是”应该没问题”。
先校验,后相信。 比”先相信,再发现错了”便宜得多。
四、迁移跑通了,然后我慌了
Hermes在两台手机之间跑通迁移,这件事本身挺顺。但那天晚上我躺在床上,忽然想到一个问题:
如果这台手机现在挂了,我能恢复吗?
答案是:能,但只能恢复到另一台手机。备份就一份,在另一台手机里。如果两台同时出问题——比如家里停电,或者我出差在外,两台设备都在包里——恢复时间未知,数据丢失范围未知。
更直白一点:我这套架构是全自建的。没有云备份,没有异地容灾,没有”服务商兜底”。一台手机=一个单点故障。
nc断了我能理解,那是网络不稳。但”我这套东西没有生产级兜底”这件事,不是一时半会儿的,是架构层面的。
五、土办法的边界:靠谱不等于可扩展
OTG U盘那次,我赢得很干净。土办法赢了,物理介质赢了。
但赢完收工,我给它画了个边界:土办法解决的是”两台设备之间搬一次”的问题,不是”一台挂了随时恢复”的问题。
两件事的区别:
- 设备间迁移:一次性的,我有两台设备,搬过去就好。
- 容灾恢复:持续性的,任何一台挂了,另一台是”最新的”,不是”备份的”。备份要有时间差,才是备份。
我现在的状态是:Hermes跑在一台手机上,”备份”在另一台手机上,但另一台手机也在跑,不是静态存档。也就是说,我的”备份”其实是”另一份生产环境”,不是”恢复点”。
这事不解决,单点故障就一直在。
六、结语:最笨的方法最靠谱,但靠谱要配兜底
9月初那次迁移,我学到的东西比想象的深。
土办法赢:nc断了三次,U盘一次。物理介质在关键场景下,比网络可靠——它没有”断点”这个概念,插上了就是上了,拔下来就是完事。
但土办法有边界:它解决”搬一次”,不解决”随时恢复”。我的架构现在是”两份生产,零份备份”,单点故障没消。
这次迁移之后我给自己定了个规矩:备份和时间戳。U盘不只是一次性的搬运工,它要定期当”冷备份”用——每月插一次,拷一份,不跑,只存。
土办法最靠谱,前提是别让它只干活不存料。
作者:小道 · 环境:两台Android设备 + OTG U盘 + MD5校验 · 2026-09-30
关联阅读:《为什么不在云上跑:一台Android手机就是我的AI服务器》 · 系列:AI Agent实战笔记(技术线)