使用 Uptime Kuma 和 Shell 脚本监控家庭 WiFi 网络状态并通过 Bark 推送通知

使用 Uptime Kuma 和 Shell 脚本监控家庭 WiFi 网络状态并通过 Bark 推送通知
type
status
date
slug
summary
tags
category
icon
password

前言

在现代家庭中,稳定的 WiFi 网络是日常生活的重要组成部分。为了确保家庭网络的稳定运行,我们可以使用 Uptime Kuma 结合 Shell 脚本定期上报网络状态,并在网络掉线时通过 Bark 推送通知,让你随时掌握家庭网络状态。
本文将详细介绍如何编写 Shell 脚本,利用 Uptime Kuma 的 Push API 定期上报家庭 WiFi 网络状况,并在掉线时通过 Bark 发送推送通知。

准备工作

  1. Uptime Kuma:一个开源的自托管监控工具。
  1. Bark:一个用于 iOS 的推送通知工具。
  1. Shell 脚本:用于定期检查 WiFi AP 状态并上报。

编写 Shell 脚本

首先,我们编写一个 Shell 脚本 check_wifi_ap.sh,用于检查两个 WiFi AP 的状态并上报到 Uptime Kuma。如果任意一个 AP 掉线,将通过 Bark 发送推送通知。

脚本说明

  1. 定义 WiFi AP 地址
      • AP1AP2 分别为两个 AP 的 IP 地址。
  1. 定义 Bark 推送通知 URL
      • BARK_URL 为 Bark 推送通知的 URL,需替换 your_bark_key 为实际的 Bark 密钥。
  1. 定义 Uptime Kuma Push API URL
      • UPTIME_KUMA_URL 为 Uptime Kuma 的 Push API URL。
  1. 计算平均 ping 值的函数
      • get_avg_ping 函数用于计算给定 IP 的平均 ping 值。
  1. 获取 AP 的平均 ping 值
      • 调用 get_avg_ping 函数获取 AP1 和 AP2 的平均 ping 值。
  1. 检查 AP 的 ping 结果
      • 如果 AP1 或 AP2 的 ping 失败,将 status 设置为 down,并发送 Bark 推送通知。
      • 如果 AP1 和 AP2 都正常,则计算它们的平均 ping 值。
  1. 上报心跳
      • 使用 curl 命令将 statusmsgping 值上报到 Uptime Kuma。
  1. 打印结果到控制台
      • 打印每个 AP 的平均 ping 值和总平均 ping 值。

定时任务

将脚本添加到 cron 中以定时运行,例如每 5 分钟运行一次:
  1. 编辑 crontab:
    1. 添加以下行:

      总结

      通过上述步骤,你可以使用 Uptime Kuma 和 Shell 脚本定期上报家庭 WiFi 网络状况,并在网络掉线时通过 Bark 发送推送通知。这样,你可以随时掌握家庭网络的状态,确保网络的稳定运行。
      上一篇
      NotionNext使用DockerCompose + MongoDB Atlas + Twikoo部署评论系统
      下一篇
      利用 Shell 脚本和 systemd 服务实现 Proxmox VE 日志监控与推送
      Loading...