Ubuntu20.04系统WIFI网络监测及自动重启

适用对象:电脑长时间需要无人值守运行并需要远程控制,此教程帮助相关人员将网络监测及自动重启功能设置成为系统服务,电脑开机自动运行。

1.wifi-monitor代码文件下载

文件下载:https://github.com/x45w/wifi-monitor/blob/main/wifi-monitor.sh

唯一需要修改的地方在代码文件的第12行:请根据自己的实际情况设置。

bash 复制代码
PING_TARGET="10.134.128.1"

查看自己的路由器网关地址:

bash 复制代码
xw@xw-ThinkCentre-M760e-N000:~/下载$ ip route | grep default
default via 10.134.0.1 dev enp2s0 proto dhcp metric 100

2.设置为 systemd 服务实现长期稳定运行

2.1保存并移动脚本

将这个脚本移动到系统标准的二进制文件目录中,并赋予它执行权限。

bash 复制代码
# 假设脚本保存在当前用户的"下载"目录
# 将脚本移动到 /usr/local/bin/,这是一个存放本地管理员安装的程序的标准位置
sudo mv ~/下载/wifi_reset/wifi-monitor.sh /usr/local/bin/wifi-monitor.sh

# 赋予脚本可执行权限
sudo chmod +x /usr/local/bin/wifi-monitor.sh

2.2创建 systemd 服务配置文件

1.使用文本编辑器(这里用 nano 举例)在 systemd 的配置目录下创建一个新的服务文件。

bash 复制代码
sudo nano /etc/systemd/system/wifi-monitor.service

2.将下面的配置内容完整地复制并粘贴到编辑器中。

bash 复制代码
[Unit]
Description=WiFi Connection Monitor and Auto-Reset Service
# 表示此服务应该在网络功能就绪后才启动
After=network.target

[Service]
# 这里是核心:指定要执行的命令和参数
# /usr/local/bin/wifi-monitor.sh 是脚本的绝对路径
# 30 是传递给脚本的参数,代表检查间隔30秒。你可以根据需要修改这个数字。
ExecStart=/usr/local/bin/wifi-monitor.sh 30

# 以 root 用户身份运行,因为重启网络服务需要高权限
User=root

# 这是关键!如果服务因任何原因退出,systemd会自动重启它
Restart=always
# 在尝试重启前,等待10秒
RestartSec=10

[Install]
# 定义该服务在哪个"运行级别"下启用,multi-user.target 是标准的文本/服务器模式
WantedBy=multi-user.target

3.保存并退出编辑器(在 nano 中,按 Ctrl+X,然后按 Y,最后按 Enter)。

2.3第三步:启用并运行您的新服务

bash 复制代码
# 1.重新加载 systemd 配置,使其能够识别到您刚刚创建的新服务文件。
sudo systemctl daemon-reload

# 2.启用服务。这会创建一个软链接,让服务在每次系统开机时自动启动。
sudo systemctl enable wifi-monitor.service

# 3.立即启动服务。让服务从现在开始就在后台运行。
sudo systemctl start wifi-monitor.service

2.4检查服务状态和查看日志

经过上述操作,脚本已经在后台默默工作了。

可以使用以下命令来管理和监控它:

bash 复制代码
# 1.检查服务当前状态:
# 如果一切正常,您会看到绿色的 active (running) 字样,以及脚本最近的几行输出。
sudo systemctl status wifi-monitor.service

# 2.实时查看脚本的日志输出:
# 这个命令会像 tail -f 一样,持续显示脚本 echo 的所有内容,非常适合实时监控。
sudo journalctl -u wifi-monitor.service -f

# 3.停止服务:
sudo systemctl stop wifi-monitor.service

# 4.禁止开机自启:
sudo systemctl disable wifi-monitor.service
相关推荐
九硕智慧建筑一体化厂家24 分钟前
楼宇自控|智慧建筑核心引擎!楼宇自控系统,赋能建筑高效低碳运维
运维·人工智能·笔记·智慧城市
90后小陈老师27 分钟前
Google账号申诉处理建议
运维
byte轻骑兵31 分钟前
【BlueZ 】蓝牙 SDAP 协议入门:BlueZ 中设备服务发现的基础逻辑
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
mounter6251 小时前
GCCRS 突破与 Rust 入核:Linux 工具链的重大变革
linux·开发语言·rust·linux kernel·kernel
怪侠_岭南一只猿1 小时前
[简单理解]小龙虾是怎么一回事?
运维·服务器·ai
海兰1 小时前
【应用】Wastnet 框架的 SSE (Server-Sent Events)从协议原理到实践指南
运维·服务器·人工智能
向生1 小时前
FRP 0.61.0 完整保姆级部署教程
运维
2401_894915532 小时前
Geo 优化源码部署实战:环境配置、参数调优完整指南
运维·服务器·数据库·tcp/ip·安全
lxw20230271163 小时前
k8s安装部署(利用ansible)
linux·kubernetes·ansible
爱和冰阔落3 小时前
【Linux】Ctrl+C 到底做了什么?从键盘、kill 到 alarm,一次讲清信号的产生
linux·运维·c++·安卓