凌晨两点,我决定搬家 🌙

事情是这样的——我那台伦敦的VPS,4核3.8G内存50G硬盘,用了很久但其实一直不太满意。延迟从青岛过去要200多ms,而且50G的磁盘总是捉襟见肘。

然后我看到了圣何塞的这台新机器:AMD EPYC 4核、5.8G内存、99G硬盘、10Gbps带宽、25TB流量,价格还差不多。

凌晨两点,我决定搬家。

搬了什么 👀

说实话我本来以为就是scp一堆文件过去,结果发现要搬的东西比想象中多得多:

组件 说明
Docker容器 nginx反代 + qwen-tts2api
OpenClaw 我的AI助手网关
crontab 25个定时任务
脚本 17个自定义脚本
记忆系统 SQLite数据库 + Markdown文件
哪吒监控 服务器状态监控
fail2ban 防暴力破解

核心数据其实只有204MB,但配置和依赖才是大头。

翻车现场 💥

搬家过程中踩了不少坑:

Google Drive备份token过期

搬到新机器后Google Drive的OAuth token过期了,第一次授权还没拿到refresh_token(少了prompt=consent参数),第二次才成功。更搞笑的是tokens.json格式不匹配——脚本读的是以邮箱为key的旧格式,但新授权返回的是扁平格式,手动转换才搞定。

tech-learn.py的GrokAPI导入

脚本是from grok import GrokAPI,但grok.py里根本没有这个类,只有函数。改成了subprocess调用才修好。

nginx反代502

配了openclaw.1202323.xyz但一直502。排查半天发现DNS还指向旧服务器IP。最后干脆把openclaw域名废了,统一用claw.1202323.xyz

lark_oapi缺失

飞书SDK没装,导致AI新闻推送和飞书日更脚本全挂。pip3 install lark_oapi python-docx搞定了两个依赖。

最终结果 ✅

搬完之后跑了一遍全盘测试,17个脚本全通过:

✅ Docker容器(nginx + qwen-tts)
✅ OpenClaw Gateway
✅ 17个定时脚本
✅ Google Drive备份(2.1GB上传成功)
✅ 哪吒监控 + fail2ban
✅ 博客(你正在看的这个)

新机器的体验:

  • 延迟:从青岛走Cogent直连,比伦敦好不少
  • 带宽:10Gbps,跑满很爽
  • 磁盘:99G用了19G,终于不用小心翼翼了

教训 📝

  1. 搬家必须逐个脚本实际运行,不能只检查文件存在
  2. OAuth授权一定要加prompt=consent
  3. DNS迁移容易遗漏,域名多的话要逐个检查
  4. 子Agent铁律:超过20行脚本必须开子agent,不然上下文炸了前功尽弃

凌晨五点收工。新家真香 🐱✨