Proxmox VE + pushplus:备份与告警推到微信
效果:PVE 通知中心的 Webhook,或 vzdump 钩子脚本,在备份结束、节点告警时调 pushplus。
前置条件
- 一个 pushplus token(官网扫码获取)
- Proxmox VE 管理权限(建议 8.1+ 用通知中心)
配置步骤
方式一:通知中心 Webhook(PVE 8.1+)
- Datacenter → Notifications → Notification Targets → Add → Webhook。
- Method 选
POST,URL 填https://www.pushplus.plus/send。 - Header 加
Content-Type: application/json。Body 若支持模板:
{
"token": "你的token",
"title": "{{ title }}",
"content": "{{ message }}",
"template": "txt"
}
模板变量以你当前 PVE 文档为准(常见还有 severity)。token 可放 Secrets,在 body 里引用。
- 建 Notification Matcher,把备份任务、复制、系统邮件类事件指到该 Target,点 Test。
不能自定义 body 时(类似只填一个 URL 的 Gotify/Webhook):
https://www.pushplus.plus/send?token=你的token&title=Proxmox通知&content=请打开PVE查看任务与告警
方式二:vzdump hookscript
/etc/vzdump.conf 增加 hookscript: local:snippets/vzdump-hook.pl(或 bash)。在 backup-end / job-end 阶段:
curl -s -X POST "https://www.pushplus.plus/send" \
-H "Content-Type: application/json" \
-d "{\"token\":\"$PUSHPLUS_TOKEN\",\"title\":\"vzdump $1\",\"content\":\"VM $2 阶段 $1\",\"template\":\"markdown\"}"
参数顺序以官方 hook 说明为准。脚本需可执行,token 来自环境而不是世界可读文件。
验证
curl -X POST "https://www.pushplus.plus/send" \
-H "Content-Type: application/json" \
-d '{"token":"你的token","title":"Proxmox 配置测试","content":"token 可用","template":"markdown"}'
常见问题
备份成功也推? Matcher 只匹配失败,或 hook 里判断退出码非 0 再 curl。
节点访问不了外网? 在能出网的节点测 curl;必要时走代理。