WP-CLI运维管理 wp-wpcli-and-ops

WP-CLI运维管理技能专注于通过命令行工具WP-CLI高效、安全地执行WordPress网站的核心运维任务。核心功能包括:安全数据库搜索替换(用于域名迁移、URL变更)、数据库备份与导入、插件与主题的安装更新管理、定时任务调度与调试、缓存清理、多站点网络操作,以及通过wp-cli.yml和脚本实现自动化部署与运维。适用于WordPress开发、运维、DevOps工程师进行网站维护、数据迁移、批量操作和CI/CD流程集成。关键词:WordPress运维,WP-CLI命令,数据库迁移,插件管理,多站点,自动化脚本,安全搜索替换,缓存清理,定时任务。

DevOps 0 次安装 0 次浏览 更新于 3/2/2026

名称: wp-wpcli-and-ops 描述: “在通过WP-CLI(wp)进行WordPress运维操作时使用:安全搜索替换、数据库导出/导入、插件/主题/用户/内容管理、定时任务、缓存清理、多站点管理,以及使用wp-cli.yml进行脚本编写和自动化。” 兼容性: “目标WordPress 6.9+(PHP 7.2.24+)。执行环境需要安装WP-CLI。”

WP-CLI与运维

使用时机

当任务涉及通过WP-CLI进行WordPress运维工作时使用此技能,包括:

  • wp search-replace(URL变更、域名迁移、协议切换)
  • 数据库导出/导入、重置和检查(wp db *
  • 插件/主题安装/激活/更新、语言包
  • 定时任务事件列表/运行
  • 缓存/重写规则清理
  • 多站点操作(wp site *--url--network
  • 构建可重复脚本(wp-cli.yml、shell脚本、CI作业)

所需输入

  • WP-CLI将在何处运行(本地开发、预发布、生产环境)以及运行是否安全。
  • 如何定位正确的站点根目录:
    • --path=<wordpress根目录> 和(多站点)--url=<站点URL>
  • 是否为多站点以及命令是否应在全网范围内运行。
  • 任何约束条件(无停机时间、无数据库写入、维护窗口)。

操作流程

0) 防护措施:确认环境和影响范围

WP-CLI命令可能具有破坏性。在运行任何写入操作之前:

  1. 确认环境(开发/预发布/生产)。
  2. 确认目标(路径/URL),以免影响错误的站点。
  3. 在执行高风险操作时进行备份。

阅读:

  • references/safety.md

1) 检查WP-CLI和站点定位(确定性)

运行检查器:

  • node skills/wp-wpcli-and-ops/scripts/wpcli_inspect.mjs --path=<路径> [--url=<url>]

如果WP-CLI不可用,请通过项目文档化的工具(Composer、容器或系统包)回退到安装它,或询问预期的执行环境。

2) 选择正确的工作流

A) 安全的URL/域名迁移(search-replace

遵循安全顺序:

  1. wp db export(备份)
  2. wp search-replace --dry-run(审查影响)
  3. 使用适当的标志运行实际替换
  4. 如果需要,清理缓存/重写规则

阅读:

  • references/search-replace.md

B) 插件/主题操作

使用 wp plugin * / wp theme *,并首先确认您正在对目标站点(和网络)进行操作。

阅读:

  • references/packages-and-updates.md

C) 定时任务和队列

检查定时任务状态并运行单个事件进行调试,而不是“盲目运行所有内容”。

阅读:

  • references/cron-and-cache.md

D) 多站点操作

多站点变更可能影响许多站点。始终决定您是:

  • 在单个站点上操作(--url=),还是
  • 全网操作(--network / 迭代站点)

阅读:

  • references/multisite.md

3) 自动化模式(脚本 + wp-cli.yml)

对于可重复的运维操作,建议:

  • wp-cli.yml 用于默认设置(路径/URL、PHP内存限制)
  • 记录命令并在出错时停止的shell脚本
  • 默认运行只读检查的CI作业

阅读:

  • references/automation.md

验证

  • 在可能影响定位或配置的变更后,重新运行 wpcli_inspect
  • 确认预期的副作用:
    • 正确的URL已更新
    • 插件/主题处于预期状态
    • 在需要的地方清理了定时任务/缓存
  • 如果有健康检查端点或冒烟测试套件,请在运维变更后运行它。

故障模式 / 调试

  • “错误:这似乎不是一个WordPress安装。”
    • 错误的 --path、错误的容器或缺少 wp-config.php
  • 多站点命令影响了错误的站点
    • 缺少 --url 或URL错误
  • 搜索替换导致意外的序列化问题
    • 错误的标志或不安全地更改序列化数据

参见:

  • references/debugging.md

升级处理

  • 如果您无法确认环境安全,请勿运行写入操作。
  • 如果仓库使用容器化工具(Docker/wp-env)但您无法访问它,请询问预期的命令运行器或CI作业。