来源:notes/topics/environment_backup_restore/backup-machine-setup.md

远端备份机搭建记录

日期:2026-09-18 · 状态:第一版已跑通

1. 目标与约束

把工作站环境复制到第二台机器作为备份。约束:不通过机器之间直连传文件 (scp/rsync 一律不用),一切经由云端中转,保证任意一台机器损坏后仍能重建。

2. 两台机器

角色 主机名 地址 说明
主(源) admin-PC 10.71.48.85 / 192.168.1.16 日常工作机
备(目标) admin-PC 10.71.48.31 / 192.168.110.91 Deepin 25,全新安装

已知隐患:两台机器 hostname 都是 admin-PC,容易在日志、ZeroTier、 SSH 配置里混淆。建议给备份机改名(如 admin-pc-backup)。

两台机在 10.71.48.0/24 内网互通,已配置免密 SSH(主 → 备)。

3. 远端网络特性(重要)

备份机外网正常(百度、Gitee 均 200 且快),但 GitHub 的访问被针对性阻断:

目标 端口 结果
github.com 443 ❌ 不通
github.com 22 ✅ 通
ssh.github.com 443 ✅ 通
codeload.github.com 443 ✅ 通
raw.githubusercontent.com 443 ✅ 通
ghproxy.net(代理) 443 ✅ 通

结论:

  • HTTPS 方式的 git clone(依赖 github.com:443)不可用
  • SSH 方式的 git clone(git@github.com:...)可用 → 这就是主通道
  • 兜底手段:ghproxy.net 代理 HTTPS,实测可克隆(公开仓库用它拉的第一份)

主工作机则相反:GitHub 能连但速度方差大(冷启动 33 KB/s,热起来 3.5–4.7 MB/s), 大仓库浅克隆会中途断流。

4. 已完成

远端目录 /home/admin/code/cc-connect-work-space/,已克隆 4 个仓库:

仓库 可见性 体积
codex_personal_assistant 🔒 私有 379M
andywu1998.github.io 🌐 公开(Jekyll 博客) 66M
cc-connect 🌐 公开 56M
astro_demo 🌐 公开(Astro 博客 + 私有看板) 25M

四个仓库的 origin 均已指向规范的 git@github.com:andywu1998/<repo>.git

5. 凭据

  • 主机的 ~/.ssh/id_ed25519 已复制到备份机同一路径(指纹一致, SHA256:8RqLaeS23G6arpap67IaL2uPIkY5iUBaoipB9tJI3N8),用于克隆私有仓库
  • 备份机 ~/.ssh/known_hosts 已写入 github.com 主机密钥
  • 验证:ssh -T git@github.com 返回 Hi andywu1998!
  • 备份机已配置 git 身份:andywu1998 <1078539713@qq.com>

安全提示:这是个人密钥,备份机因此拥有该账号全部仓库的读写权限。 更小的权限面是用各仓库的只读 Deploy Key。若日后备份机用途变化,建议改回 Deploy Key 并轮换此密钥。

6. 日常同步流程

主工作机:

cd ~/code/cc-connect-work-space/<repo>
git add -A && git commit -m "..." && git push origin HEAD

备份机(zsh/ssh 进入后):

cd ~/code/cc-connect-work-space/<repo>
git pull --ff-only origin main

7. 待办与风险

  • 备份机改名,消除与主机同名的混淆
  • 把「其余未入 Git 的目录」(dotfiles、systemd units、crontab、密钥)也纳入备份
  • 大数据文件(转写音频、会话记录、sqlite)走对象存储或飞书云空间,见 cloud-options-research.md
  • 定时自动同步 + 失败告警
  • ⚠️ 搭建过程中备份机上已克隆成功的 andywu1998.github.io整目录消失且无回收站痕迹; 同期日志显示该机 DDE 桌面处于活动状态(有用户登录)。原因未查明, 用备份机前需留意是否有其他进程在改动 /home