青龙面板 + pushplus:定时任务结果,微信实时可见
效果:青龙面板的定时任务(签到、监控、脚本)执行后,结果推到微信。青龙内置 pushplus 渠道,不用写代码。
一句话:青龙有两套互相独立的通知——面板自己的系统通知在「系统设置 → 通知设置」里选 pushplus;脚本产出的通知走 config.sh 里的 PUSH_PLUS_TOKEN。两者互不影响。多数人「测试通知收得到、任务通知收不到」就是只配了前者。
前置条件
- 一个 pushplus token(官网扫码获取)
- 已部署的青龙面板
先搞清楚:青龙有两套通知
| 面板系统通知 | 脚本通知 | |
|---|---|---|
| 谁发的 | 青龙面板本身 | 你跑的脚本(签到等) |
| 典型消息 | 任务执行失败、登录异常、容器重启 | 签到结果、账号状态、脚本自定义输出 |
| 配置位置 | 系统设置 → 通知设置 | config.sh 里的环境变量 |
| 改完要重启吗 | 不用 | 不用,下次任务执行即生效 |
想收到签到脚本的结果,必须配第二套。只配第一套的话,通常只能收到「任务执行失败」这类面板级事件。
方式一:面板系统通知
- 打开青龙面板 → 系统设置 → 通知设置。
- 通知方式选择 pushplus。
- 在对应 token 字段粘贴你的 token,保存。
- 点击测试,微信应立刻收到测试消息。
不同版本菜单文案略有出入。找不到就在设置页搜
pushplus或PUSH_PLUS。
方式二:脚本通知(签到脚本类)
跑第三方脚本库时,脚本产出的通知走 config.sh:
- 面板 → 配置文件 →
config.sh,找到 pushplus 配置区:
## pushplus(https://www.pushplus.plus/)
export PUSH_PLUS_TOKEN="你的token"
## 一对多时填写群组编码,一对一留空
export PUSH_PLUS_USER=""
- 保存后,凡是调用了青龙自带
notify.py/notify.js(或兼容的 sendNotify)的脚本,执行结果都会推送。
不用重启容器,下一次任务执行就会带上通知。
Docker 部署下 config.sh 在哪
docker exec -it qinglong ls /ql/data/config/config.sh # 较新版本
docker exec -it qinglong ls /ql/config/config.sh # 早期版本
宿主机上对应你 docker run 时映射的目录。改完确认变量生效:
docker exec -it qinglong bash -c 'source /ql/data/config/config.sh && echo $PUSH_PLUS_TOKEN'
打印为空,说明改错文件了,或那一行还被 # 注释着。
先验证 token 本身可用
curl -X POST "https://www.pushplus.plus/send" \
-H "Content-Type: application/json" \
-d '{"token":"你的token","title":"青龙配置测试","content":"token 可用","template":"markdown"}'
在容器内部再跑一次,可以确认容器网络能访问 www.pushplus.plus。
别让签到脚本把额度刷爆
- 只给关键脚本开通知。成功不必每天播报,失败时知道即可。
- 优先用脚本库的「合并推送」,把一轮结果汇总成一条。
- 按失败推送。在任务命令里包一层,只有非 0 才调用通知:
task xxx.js || curl -s -X POST "https://www.pushplus.plus/send" \
-H "Content-Type: application/json" \
-d "{\"token\":\"$PUSH_PLUS_TOKEN\",\"title\":\"任务失败:xxx.js\",\"content\":\"请查看青龙日志\",\"template\":\"markdown\"}"
额度说明见 接口限制。