第五章 自动化与 API
一句话概括这一章
运维的尽头是“把重复动作写成不可变的流程”。1Panel 提供两条自动化路径:一条在面板里点(计划任务 + 1pctl 命令),一条在面板外调(API 接口)。这一章讲的是怎么把前四章学的网站、数据库、备份都串成自动跑的流水线,以及怎么让 CI/CD 和监控告警跟面板对话。
这一章解决什么问题
| 小节 | 场景 | 一句话答案 |
|---|---|---|
| 5.1 API 接口与鉴权速查 | 想写脚本调面板,先搞懂签名 | 两个 Header + 两种 Token 生成方式,HMAC-SHA256 优先 |
| 5.2 用 API 批量管理网站与备份 | 十台机器一百个站,手动点不完 | 脚本批量备份,配合保留份数和备份账号 |
| 5.3 计划任务联动与 1pctl 脚本化 | 定时任务 + 命令行工具组合出自动化 | 计划任务有 11 种类型,1pctl 管面板本身 |
| 5.4 与 CI/CD、监控告警打通的思路 | 面板不是孤岛 | 备份推对象存储、API 触发部署、告警转发到群 |
先打通一个认知:自动化之前先把“手动闭环”跑通
这是这一章最重要的一条心法,先立规矩:
任何要自动化的流程,先手动完整跑一遍。
为什么?
| 现象 | 自动化之后会发生什么 |
|---|---|
| 手动时要看一眼输出才决定下一步 | 自动化脚本没有眼睛,会一路错到底 |
| 备份文件从没验证过能不能恢复 | 自动定时备份 = 定时产生“自以为安全”的假象 |
| 恢复流程只有你会操作 | 出事时你不在,流水线也救不了你 |
自动化放大的是流程本身:好流程被放大成效率,烂流程被放大成事故。2.3 节的备份恢复演练、1.2 节的“先备份再动手”,都是自动化的前置条件,不是可选项。
三条路径,按“侵入性”排序
| 路径 | 入口 | 侵入性 | 适合什么 |
|---|---|---|---|
| 计划任务 + 任务库 | 面板内,全是图形界面 | 低 | 备份、清理、巡检 |
| 1pctl 命令行 | 服务器终端 | 中 | 管面板本身(启停、改配置、重置) |
| API 接口 | 任何能发 HTTP 的程序 | 高 | 编程化集成、CI/CD、二次开发 |
注意顺序不是“哪个高级”,而是“哪个够用”。能计划任务解决的别写脚本,能脚本解决的别动 API。侵入性越高,维护成本越高——脚本和 API 客户端都会随版本升级而坏掉,计划任务不会。
一个认知:API 的入口在用户菜单里
版本说明要知道:v2.2.1 之前,API 接口设置入口在「面板设置」中;v2.2.1 之后,点击左下角用户菜单,进入用户信息抽屉,在「API 接口」区域启用或关闭,点「详情」维护 API Key、IP 白名单和有效时间。
所有 API 的完整清单在 Swagger:{host}:{port}/1panel/swagger/index.html。写脚本之前先逛一圈 Swagger,比啃文档快十倍。
版本边界
| 能力 | 社区版 | 专业版/企业版 |
|---|---|---|
| 计划任务(基础类型) | ✅ | ✅ |
| 1pctl | ✅ | ✅ |
| API 接口 | ✅ | ✅ |
| 执行失败告警及部分高级任务 | 取决于许可证和功能配置 | 更多 |
好消息是这一章基本不花钱——自动化是社区版的完整能力。1Panel 在“能自动化”这件事上没有设付费墙,这点值得肯定。
一个真实的翻车现场:脚本比面板“勤快”太多
这本书不是鸡汤,讲一个真实模式:
某团队用 API 写了个“每天凌晨全量备份所有网站”的脚本,跑了一周发现磁盘满了——因为备份保留份数在脚本里没写死,面板的保留策略对 API 创建的备份同样生效的前提是任务参数传对。他们改成“保留 7 份”后又过了一周,发现有几台机器的备份根本没成功:脚本的报错只写进了本地日志,没人看。
三点教训,这本书后面会反复强调:
| 教训 | 对应章节 |
|---|---|
| 自动化流程必须有“结果反馈”——成功也好失败也好,要推到一个有人看的地方 | 5.2 节 |
| 面板能做的配置别在脚本里重写一遍(保留份数、备份账号、目录) | 5.2 节 |
| 定时任务先手动触发一次,看完整输出 | 5.3 节 |
这一章的学习方法
这一章和前四章不一样:前四章是“面板能做什么”,这一章是“你让面板做什么”。 建议这样读:
- 先读 5.1——鉴权是所有 API 操作的地基,地基不稳后面全白搭;
- 按需读 5.2/5.3——备份自动化和计划任务是最常见的两个落地点,挑一个先跑通;
- 5.4 最后读——CI/CD 和监控打通是“锦上添花”,不要在基础闭环没跑通时折腾它。
每节都会给可复制的代码骨架,但骨架不是终点——抄完之后把 print 改成你们团队的告警通道,脚本才真正属于你。
学完这一章你会获得什么
- 一份可用的 API 鉴权速查表(两种 Token 生成方式都会写);
- 一套“批量备份 + 保留策略 + 异常通知”的脚本化方案;
- 知道计划任务的 11 种类型各自怎么用、任务库怎么复用;
- 1pctl 能做什么、不能做什么(它管面板,不管你的业务);
- 一张“面板 + CI/CD + 监控告警”的打通草图。
API 的权威说明见 《1Panel 官方文档:技能、API 与常见问题》,计划任务和 1pctl 的完整参数见 《1Panel 官方文档:功能手册》。
下一节:先从最硬的那块骨头啃起——API 鉴权,两行 Header 背后的门道,见 5.1 节。
