type
status
date
slug
summary
tags
category
icon
password
前言
在现代家庭中,稳定的 WiFi 网络是日常生活的重要组成部分。为了确保家庭网络的稳定运行,我们可以使用 Uptime Kuma 结合 Shell 脚本定期上报网络状态,并在网络掉线时通过 Bark 推送通知,让你随时掌握家庭网络状态。
本文将详细介绍如何编写 Shell 脚本,利用 Uptime Kuma 的 Push API 定期上报家庭 WiFi 网络状况,并在掉线时通过 Bark 发送推送通知。
准备工作
- Uptime Kuma:一个开源的自托管监控工具。
- Bark:一个用于 iOS 的推送通知工具。
- Shell 脚本:用于定期检查 WiFi AP 状态并上报。
编写 Shell 脚本
首先,我们编写一个 Shell 脚本
check_wifi_ap.sh
,用于检查两个 WiFi AP 的状态并上报到 Uptime Kuma。如果任意一个 AP 掉线,将通过 Bark 发送推送通知。脚本说明
- 定义 WiFi AP 地址:
AP1
和AP2
分别为两个 AP 的 IP 地址。
- 定义 Bark 推送通知 URL:
BARK_URL
为 Bark 推送通知的 URL,需替换your_bark_key
为实际的 Bark 密钥。
- 定义 Uptime Kuma Push API URL:
UPTIME_KUMA_URL
为 Uptime Kuma 的 Push API URL。
- 计算平均 ping 值的函数:
get_avg_ping
函数用于计算给定 IP 的平均 ping 值。
- 获取 AP 的平均 ping 值:
- 调用
get_avg_ping
函数获取 AP1 和 AP2 的平均 ping 值。
- 检查 AP 的 ping 结果:
- 如果 AP1 或 AP2 的 ping 失败,将
status
设置为down
,并发送 Bark 推送通知。 - 如果 AP1 和 AP2 都正常,则计算它们的平均 ping 值。
- 上报心跳:
- 使用
curl
命令将status
、msg
和ping
值上报到 Uptime Kuma。
- 打印结果到控制台:
- 打印每个 AP 的平均 ping 值和总平均 ping 值。
定时任务
将脚本添加到
cron
中以定时运行,例如每 5 分钟运行一次:- 编辑 crontab:
- 添加以下行:
总结
通过上述步骤,你可以使用 Uptime Kuma 和 Shell 脚本定期上报家庭 WiFi 网络状况,并在网络掉线时通过 Bark 发送推送通知。这样,你可以随时掌握家庭网络的状态,确保网络的稳定运行。
上一篇
NotionNext使用DockerCompose + MongoDB Atlas + Twikoo部署评论系统
下一篇
利用 Shell 脚本和 systemd 服务实现 Proxmox VE 日志监控与推送
Loading...