返回顶部
u

upgrade安全升级OpenClaw

Safe OpenClaw upgrade with instant rollback. Use when user says "upgrade openclaw", "update openclaw", "check for updates", or any request to upgrade/update the OpenClaw installation. NOT for config changes (use gateway config.patch). NOT for skill updates (use clawhub).

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
308
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

upgrade

OpenClaw 安全升级

单一原子命令。任何失败时自动回滚。在触发网关重启后依然存活。

脚本

bash

从代理会话中执行 — 始终设置转义标志(确保脚本在网关重启后存活)


UPGRADEFORCE_ESCAPE=1 bash skills/upgrade/scripts/safe-upgrade.sh

即使已是最新版本也强制升级

UPGRADEFORCE_ESCAPE=1 bash skills/upgrade/scripts/safe-upgrade.sh --force

安全的只读检查(无需转义)

bash skills/upgrade/scripts/safe-upgrade.sh --check # 仅预检 bash skills/upgrade/scripts/safe-upgrade.sh --rollback # 手动回滚

执行过程(一条命令,10个步骤)

  1. 1. Cgroup 转义:通过 systemd-run --user --scope 重新执行,使网关停止时无法杀死脚本
  2. 预检:版本检查、磁盘空间、破坏性变更
  3. 备份:安装包、配置、定时任务、acpx 自定义配置
  4. npm i -g openclaw@latest
  5. 恢复 acpx 配置(ACP 代理自定义配置在升级后保留)
  6. 网关重启(进程隔离:停止 + 启动,不受脚本自身生命周期影响)
  7. 等待网关健康检查(可配置超时)→ 失败则自动回滚
  8. 等待 WhatsApp 重连(非致命超时)
  9. 验证:正确版本 + 定时任务数量保留 → 失败则自动回滚
  10. 记录结果 → 可选的金色快照 → 清理备份

如果任何关键检查失败,脚本自动回滚 — 恢复安装、配置、定时任务和 acpx。陷阱处理器捕获关键阶段中的意外退出。

代理工作流程

  1. 1. 先运行 --check。与用户一起审查输出。
  2. 告知用户:正在启动升级 — 网关重启期间我将离线。
  3. 运行升级:
bash UPGRADEFORCE_ESCAPE=1 bash skills/upgrade/scripts/safe-upgrade.sh

不要管道输出(不要使用 | tee,不要使用 2>&1 | cat)。脚本写入 /tmp/upgrade-live.log。

  1. 4. 当前会话将在网关重启时结束。这是预期行为。
  2. 重启后,新会话检查:

- ~/.openclaw/upgrade-result.json 获取状态
- /tmp/upgrade-live.log 获取实时输出
- success:向用户报告,更新所有版本引用
- rolled_back:告知用户出错原因(结果文件中的原因)
- 无结果文件 + ~/.openclaw/upgrade-backups/current/ 存在备份:脚本被杀死 — 运行 --rollback
  1. 6. 完整取证日志位于 ~/.openclaw/upgrade-last.log。

备份内容

  • - OpenClaw 安装包
  • 配置(openclaw.json)
  • 定时任务(jobs.json)
  • acpx 用户配置(~/.acpx/config.json,如果存在)
  • 元数据(来源/目标版本、时间戳、定时任务数量)

备份位置:~/.openclaw/upgrade-backups/current/

结果文件

~/.openclaw/upgrade-result.json:

json
{
status: success|rolledback|rollbackfailed|no_change|blocked,
from_version: 2026.3.2,
to_version: 2026.3.7,
message: ...,
timestamp: ...,
log: ~/.openclaw/upgrade-last.log
}

为什么需要 Cgroup 转义?

OpenClaw 作为 systemd 服务运行。当代理运行此脚本时,脚本是该服务 cgroup 内的子进程。systemctl stop 向 cgroup 中的所有进程发送 SIGKILL — 包括升级脚本。SIGKILL 无法被捕获(不会触发陷阱处理器)。

脚本检测到这一点并通过 systemd-run --user --scope 将其自身重新执行为独立的临时 systemd 作用域。父进程立即退出 — 没有管道、没有 tee、没有与网关 cgroup 的连接。这就是禁止管道输出的原因。

重要说明

  • - 切勿直接运行 gateway update.run — 始终使用此脚本
  • 从代理会话运行时始终设置 UPGRADEFORCE_ESCAPE=1
  • acpx 自定义配置在升级过程中自动保留
  • 回滚恢复精确的先前状态:安装 + 配置 + 定时任务 + acpx
  • --check 可随时安全运行,不会更改任何内容
  • 脚本从配置中自动检测网关端口(无硬编码默认值)
  • 可选钩子:如果工作区中存在 golden-snapshot.sh 或 service-quick-check.py,则使用它们;否则静默跳过

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 openclaw-safe-upgrade-1776189529 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 openclaw-safe-upgrade-1776189529 技能

通过命令行安装

skillhub install openclaw-safe-upgrade-1776189529

下载

⬇ 下载 upgrade v1.0.0(免费)

文件大小: 8.05 KB | 发布时间: 2026-4-15 13:09

v1.0.0 最新 2026-4-15 13:09
Initial release — atomic OpenClaw upgrade with auto-rollback, cgroup escape for systemd survival, acpx preservation, breaking change detection

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部