恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 554|回复: 17

自用python写的断网检测脚本

[复制链接]
发表于 2021-5-7 21:27 | 显示全部楼层 |阅读模式
本帖最后由 weni09 于 2021-5-8 08:48 编辑

背景与动机:  1.本人软路由上搭建了一些日常用的服务
  2.出现过几次断网,导致本人在外面连不上搭的服务
  3.家里没人重启机器,有点烦,而且手动重启太low,干脆写个脚本自动检测吧

程序环境:
  1. 系统Openwrt,内核5.4.84
  2. python 版本需要3.6版本以上(因为使用了f语法),想用其他版本的自己改语法吧

测试:  1.自己测吧,把wan口手动断了,自己测哈
  2.其他情况我也没测(哈哈,遇到有问题再改吧),且用且珍惜
功能:    之前忘记说了,本脚本的大概功能,先检测网络连通性,没网重启wan,再检测网络,没网重启network,再检测网络,没网重启系统;每次检测到网络能连通都会直接退出 。

文件已压缩,看附件吧:
1.就这几个文件,给start.sh文件一个执行权限,chmod +x start.sh(懂的不用加,用sh执行吧)

文件截图

文件截图

2.定时任务:   */30 * * * * /data/scripts/NetworkCheck/start.sh (时间自己衡量吧,我是30分钟检测一次)



NetworkCheck.zip

2.29 KB, 下载次数: 113

我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-7 21:32 | 显示全部楼层
技术达人,学习学习
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-7 21:47 | 显示全部楼层
大佬牛x 顶起
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-7 21:48 | 显示全部楼层
怎么使用?出个图片截图教程啊 谢谢
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-5-7 21:51 | 显示全部楼层
lovex265 发表于 2021-5-7 21:48
怎么使用?出个图片截图教程啊 谢谢

写了,先给 start.sh执行仅限,然后定时任务
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-7 21:58 | 显示全部楼层
小白表示不懂
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-7 22:24 | 显示全部楼层
直接用shell就是,op还不用安装py

openwrt自带有热插拔这样的检测

https://openwrt.org/zh/docs/guide-user/base-system/hotplug

在/etc/hotplug.d/iface 里写个sh脚本,检测wan口是否下线,下线就执行,重起拨号就是了。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-7 22:25 | 显示全部楼层
人才学习
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-7 23:01 | 显示全部楼层
sasalemma 发表于 2021-5-7 22:24
直接用shell就是,op还不用安装py

openwrt自带有热插拔这样的检测

这都还是麻烦了,直接安装个watchcat完事。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-7 23:40 | 显示全部楼层
wulishui 发表于 2021-5-7 23:01
这都还是麻烦了,直接安装个watchcat完事。


装什么,一个脚本,P都不需要设置,也不要计划任务,也不需要777的执行权限,扔个文件进那个文件夹,系统会自己处理,掉线就重拨。不算#!/sh这个标记脚本的第一行,就两行脚本的事情。

就像防火墙规则,你可以界面设置,有的人觉得界面简单,有的人喜欢直接写自定义规则

但终归来说,还是一样iptables写入规则中执行。

玩op的人,都奔着界面去,省些运存不好吗?

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-5-8 08:42 | 显示全部楼层
sasalemma 发表于 2021-5-7 22:24
直接用shell就是,op还不用安装py

openwrt自带有热插拔这样的检测

不喜欢用op的shell,之前写脚本的时候遇到很多限制,我的op是自己编译的,编译的时候加的python3.8,其它人没有python又不想装的话,就去找shell脚本吧或者自己写一个也不麻烦
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-8 12:06 | 显示全部楼层
脱了裤子放屁
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-5-8 17:11 | 显示全部楼层

此话从何说起
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-8 19:15 来自手机 | 显示全部楼层
luci-app-watchcat 了解一下
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-8 20:27 | 显示全部楼层
本帖最后由 laoxiao 于 2021-5-8 20:28 编辑

难道openwrt断网后不会定期自动拨号的?
比如光猫断电,过阵子上电,路由器肯定都会再次拨号的,就算一个几十块钱的普通路由器也可以吧。
我用openwrt路由器也7年多了,期间有过停电,或者外面光纤断了,但是从来都没想过还需要路由器重新再拨号的。
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2021-6-21 00:51

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表