最小備份集 · 脫敏匯出 · Gateway 冷啟動 · 通道全量重連
誰會遇到什麼問題:OpenClaw 已在生產或準生產運作,卻缺少「整機換碟、誤刪設定、金鑰輪換後」的可複現恢復路徑;常見症狀是 Gateway 能起,但 Slack、Discord、Telegram 等通道集體掉線或悄然失敗。本文給出的結論:用最小備份集、脫敏匯出包、冷啟動檢查順序與通道一對一對照表,把 RTO/RPO 從口號落到工單欄位。你將帶走:五類災備風險、備份要與不要對照表、六步脫敏清單、六步冷啟動 Runbook、通道側與 Gateway 側對照矩陣、季度演練紀錄範本;並與可持續升級、三通道排障、執行期排障、生產加固等長文互鏈。若你正在把 OpenClaw 當成對外服務邊界,災備演練應與變更節奏綁定:每次重大升級後補一次最小恢復驗證,避免「文件寫了但從未在乾淨機上跑過」的技術債。
01升級回滾文件解決的是版本與埠衝突,災備解決的是身分與外部系統關係遺失。只備份儲存庫而不備份 Gateway 與工作區邊界,會在恢復後表現為「模型能呼叫但通道全啞」;反過來把完整日誌與金鑰原樣打進共用碟,又會在合規上踩雷。與可持續升級與備份釘扎交叉閱讀時,請把升級前備份視為高頻小集,把災備演練視為低頻全集:前者服務日常變更,後者服務災難假設。實務上還要把「誰有權解密備份包」寫進 RACI,否則演練當天會卡在等待核准而不是技術步驟。
第二類風險是路徑漂移:恢復機器上 Home 路徑、守護程序標籤與舊機不一致,導致設定找到了但服務沒掛上去。第三類是通道秘密與回呼 URL 成對失效:IM 平臺側 token 仍有效,但公網入口或 TLS 憑證已換,Gateway 日誌裡會出現大量回呼錯誤卻被誤判為模型配額。第四類是雙安裝與 PATH 污染,在冷啟動時拉起舊二進位制,讀新設定,造成半相容狀態。第五類是演練從未真跑:Runbook 停留在文件庫,真正換機時才發現缺欄位範本與負責人時間窗。把五類風險寫進工單標籤,有助於事後復盤時快速歸因,而不是把所有通道問題都丟給模型供應商。
只備份 Git 不備份 Gateway 邊界:恢復後「能編譯不能收訊息」,與三通道排障症狀類似但根因在缺失設定面。
把金鑰明文貼進工單:違反最小暴露原則,稽核無法通過。
日誌全量複製:體積與隱私雙爆;應定義保留視窗與欄位白名單。
忽略守護程序名與 launchd/systemd 單元:冷啟動後程序存在但健康檢查失敗。
演練不做回滾到快照:無法驗證 RPO 是否真實成立。
| 物件 | 災備包建議 | 理由摘要 |
|---|---|---|
| Gateway 設定與版本釘 | 要 | 決定監聽面、路由與通道綁定;與升級文對齊欄位名 |
| 長期 API 金鑰與 bot token | 要(加密倉) | 恢復後必須能證明身分;禁止進明文附件 |
| 工作區與 AgentSkills 路徑 | 要(結構+雜湊) | 與生產加固技能稽核欄位一致 |
| 全量存取日誌 | 不要預設帶 | 取樣視窗與脫敏規則先行 |
| 暫定下載目錄 | 不要 | 可重建;攜帶只會放大洩露面 |
災備包的目標不是「複製整臺電腦」,而是「在乾淨機上重建同一外部契約」。
脫敏不是「打碼好看」,而是讓 on-call 在不擴大暴露面的前提下重現問題。與執行期排障的最小重現包一致:應能還原版本、通道類型、錯誤碼片段與時間線,但不能還原完整 webhook 秘密或使用者私訊內容。下面六步是匯出前自檢順序,建議寫進變更系統必填欄位。若你同時維護多區節點,請在欄位裡標註資料中心與出口 ASN,避免把區域性封鎖誤判成應用程式錯誤。
固定版本四元組:CLI 版本、Gateway 建置識別、Node 執行時、作業系統修補層級。
通道列舉:列出已啟用通道與各自「最後成功回呼」時間戳,不含 token 本體。
設定結構摘要:用樹狀路徑列出關鍵檔案存在性,可對敏感值用占位符。
錯誤片段:截取最近 N 條與通道或 TLS 相關的日誌行,截斷到固定位元組上限。
網路判據:出口 IP、憑證指紋、反向代理規則版本號(若適用)。
負責人與時間窗:誰核准了此次匯出、預計銷毀時間。
硬禁止:不要把 Slack signing secret、Discord bot token、Telegram bot token 明文寫入共用碟或 IM 貼上;用加密倉或平臺側輪換流程替代。
冷啟動順序刻意與多平臺安裝與守護對齊:先確認「只有一個 Gateway 在監聽」,再談通道。每一步都應有「通過/失敗」判據,失敗時不要跳到「重裝」而應回到證據表定位是 PATH、單元檔還是埠占用。建議把輸出檔命名規則寫死,讓不同值班產生的附件可以機讀比對。
確認安裝面唯一:which 與套件管理員全域性路徑對拍,排除雙安裝。
拉起守護程序並紀錄單元名:與安裝文對照 launchd/systemd 標籤。
綁定面檢查:監聽位址是否落在預期介面,是否被 VPN 或防火牆改寫。
健康與 doctor 類命令:把輸出寫入工單索引欄位而非截圖散落。
最小通道探針:在全量重連前先進行單通道探針,避免多變數併發。
時間同步與 TLS 鏈:時鐘漂移與中繼憑證過期是冷啟動高發病因。
export OC_EXPORT_DIR="./openclaw-drill-$(date -u +%Y%m%d%H%M%SZ)"
mkdir -p "${OC_EXPORT_DIR}/redacted"
openclaw version > "${OC_EXPORT_DIR}/version.txt" 2>&1
openclaw gateway status > "${OC_EXPORT_DIR}/gateway-status.txt" 2>&1 || true
openclaw channels status > "${OC_EXPORT_DIR}/channels-status.txt" 2>&1 || true
tar -czf "openclaw-drill-bundle.tgz" "${OC_EXPORT_DIR}"
提示:樣例命令僅收集狀態文字;請在你的環境替換為經安全評審的匯出指令碼,並限制 tar 包權限。
恢復後「Gateway 健康但訊息不回」多半落在回呼可達性或權限範圍變更,與模型路由無關。下表給出排查時應對照的最小欄位集;細節步驟請回到三通道接入與排障逐步執行,不要在未確認回呼 TLS 前反覆輪換模型金鑰。若你使用多租戶反向代理,請把路由表版本一併記錄,否則恢復後最容易出現「內部 curl 通、外部 webhook 不通」的假陰性。
| 通道 | IM 側必查 | Gateway 側必查 |
|---|---|---|
| Slack | App 權限範圍、事件訂閱 URL、簽章金鑰版本 | 回呼路由、TLS 憑證鏈、出站 allowlist |
| Discord | Intent、Bot 可見範圍、閘道 URL | WebSocket 升級路徑、反向代理逾時 |
| Telegram | Webhook 模式與憑證上傳、白名單 IP | 公網入口埠、NAT 工作階段保持 |
若團隊同時使用多模型分檔與主備路由,請在通道恢復之後再切模型,以免把通道錯誤歸類為模型配額耗盡;對應欄位見多模型分檔長文。全量重連完成後,應保留一次「從收到測試訊息到首次工具呼叫成功」的時間戳,作為季度演練基線,並在下次演練比較是否退化。
下列三條是可寫進演練附件的經驗閾值,用於立項前核對;請用你方真實演練資料替換。RTO 指從宣布災難到「首個通道收到測試訊息」的時間;RPO 指可接受遺失的設定變更視窗,應與設定管理工具的歷史粒度一致。把它們寫進採購與值班的同一頁簡報,有助於把「演練成本」轉成可辯護的預算科目。
| 組織規模 | 合規要求 | 演練頻率 | 第一選擇 |
|---|---|---|---|
| 個人開發者 | 標準 | 每半年 | 加密備份包+單機冷啟動指令碼 |
| 小團隊 | 標準 | 每季度 | 雙人覆核+通道探針清單+工單欄位範本 |
| 平臺團隊 | 高 | 每月桌面推演、每季實機 | 分割金鑰倉+自動化匯出+稽核索引 |
純本地筆記本在磁碟、休眠與系統更新視窗上難以滿足穩定 RTO;自建伺服器又要把 TLS、備份與通道回呼全部扛在團隊肩上。相較之下,可合同化的雲端 Mac 節點能把可用性條款與區域選擇寫進採購附件,並把 Gateway 常駐從「個人裝置運氣」變成「服務等級討論」。當演練需要固定出口與可預期的維護視窗時,把節點放在受控環境比反覆協調同事筆電更省溝通成本。
常見誤區:演練只測「能啟動程序」不測「能收到外部訊息」;外部契約才是 OpenClaw 的生產價值所在。
若團隊既要 OpenClaw 災備又要可稽核的通道恢復,個人裝置與暫時借用機器在金鑰輪換與公網入口穩定性上會持續欠帳。對需要生產級 Gateway 常駐與可複現演練 的場景,VpsMesh 的 Mac Mini 雲端租賃通常是更優解:按週期彈性計費、區域可選、節點專用可稽核,讓災備討論建立在真實網路與可用性資料之上,而不是口頭承諾。