VPS 补货监控运维脚本教程:vps-stockctl

vps-stockctl 是补货监控装好后的日常控制入口。不要每次手敲一长串 systemctl / npm run

安装后位置:

/usr/local/sbin/vps-stockctl

需要 root:

sudo vps-stockctl <command>

1. 命令一览

命令作用
login-desktop启动显示/Chrome/VNC,方便人工登录商家
baselineDRY_RUN=1 下建立公开+登录基线
telegram-check校验 Bot Token 与 Chat 可达
start启动公开+登录监控(要求 DRY_RUN=0
stop停止监控服务
status看服务与最近状态
logs看日志
once / browser:once(若封装)单次扫描
具体子命令以你部署包里的 vps-stockctl 为准;下面按通用运维流程写。

2. 标准上线流程

Step A. 配置

sudo vim /opt/vps-stock-bot/.env
sudo vim /opt/vps-stock-bot/config/monitors.yaml

建议:

  • 先少开商家
  • DRY_RUN=1
  • NOTIFY_ON_FIRST_SEEN=0

Step B. 校验推送通道

sudo vps-stockctl telegram-check

成功应看到 Bot 用户名与 Chat 校验通过。

Step C. 建基线

sudo vps-stockctl baseline

它会:

  1. 确保 DRY_RUN=1
  2. 跑公开页扫描两次(第二次要求无变化)
  3. 跑登录页扫描两次(第二次要求无变化)

基线失败常见原因:

  • 页面 403 / Cloudflare
  • 通用 HTML 解析不到套餐
  • 登录态失效

Step D. 登录商家(可选)

sudo vps-stockctl login-desktop

本机电脑:

ssh -N -L 5900:127.0.0.1:5900 <SSH用户>@<VPS>

VNC 客户端连接:

127.0.0.1:5900

在远程 Chrome 登录需要 cookie 的商家,再开对应 enabled: true

Step E. 正式推送

sudo sed -i 's/^DRY_RUN=.*/DRY_RUN=0/' /opt/vps-stock-bot/.env
sudo vps-stockctl start
# 或
sudo systemctl restart vps-stock-public vps-stock-browser

3. 日常运维

查看是否在跑:

systemctl is-active vps-stock-public vps-stock-browser vps-stock-chrome
curl -s http://127.0.0.1:8787/status

看日志:

sudo journalctl -u vps-stock-public -u vps-stock-browser -f

临时停推送但不卸载:

sudo sed -i 's/^DRY_RUN=.*/DRY_RUN=1/' /opt/vps-stock-bot/.env
sudo systemctl restart vps-stock-public vps-stock-browser

只关某个商家:

sudo vim /opt/vps-stock-bot/config/monitors.yaml
# enabled: false
sudo systemctl restart vps-stock-public   # 或 browser

4. 登录桌面注意点

  • VNC/CDP 必须仅本机监听
  • 用 SSH 本地转发,不要把 5900/9222 暴露公网
  • 某些站点 Cloudflare 在机房 IP 上过不去,属于站点风控,不是 ctl 坏了
  • 登录态掉了就再 login-desktop 续一次

5. 推送内容长什么样

正式补货通知通常包含:

  • 标题:补货 / 新机型 / 信息更新
  • 商家、机型、价格、地区、配置
  • 购买链接、监控页链接
  • 详情摘要与采集时间

可先 DRY_RUN=0 后发一条测试样例确认样式,再观察真实变化。


6. 排错清单

  1. telegram-check 失败
    Token/Chat 错,或 Bot 没跟你私聊过。
  2. baseline 失败
    先减少 monitors.yaml 启用项,逐个验证。
  3. 服务 active 但不推
    看是不是 DRY_RUN=1,或 NOTIFY_ON_CHANGE=0
  4. 登录监控全挂
    Chrome 是否活着:curl -s http://127.0.0.1:9222/json/version
  5. 误报太多
    关闭 HTML 快照附件;检查是否把动态文案写进指纹。

7. 推荐稳态配置(经验)

DRY_RUN=0
NOTIFY_ON_FIRST_SEEN=0
NOTIFY_ON_CHANGE=1
NOTIFY_ON_SOLD_OUT=0
ATTACH_HTML_SNAPSHOTS=0

公开页先开 3~5 个稳定商家;登录页只开已确认 cookie 有效的站。


一句话install-vps.sh 负责装好,vps-stockctl 负责「安全地从演练走到正式推送」。先基线、后登录、再 DRY_RUN=0,顺序别反。

本文著作权归作者 [ doudoudoubao ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。

发表留言