|
本帖最后由 Bave_Lee 于 2019-10-24 10:36 编辑
这两天学校的路由器总是断网,所以写了这么一个东西。
检测网络状态,自动断网重连。
原理:
检测是否能ping得通www.baidu.com,ping不通就重连WAN口(重新拨号)
使用方法:
- 将脚本放到/etc下,完整文件路径为:/etc/brecon.sh,可以使用scp上传或者putty,或者你vim新建文件直接粘贴
- 设置执行权限:
- 再然后添加 crontab 计划任务
- */10 * * * * /etc/brecon.sh
复制代码
这样设置就是每10分钟检测一次断网,检测到断网就重连一次,仅重连一次,没连上也不管
如果你要每天定时执行就设置为
- 15 6 * * * /etc/brecon.sh
复制代码 这样设置就是每天6点15分检测断网
脚本内容
- #!/bin/sh
- CHECK_HOST="www.baidu.com"
- # execute this function when network is available
- on_network_available(){
- echo Network available $(date +%s) >> /tmp/brecon.log
- }
- # execute this function when network is not available
- on_network_not_available(){
- # Try reconnect wan if
- echo -n "Try reconnect wan interface..."
- /sbin/ifup wan
- check_status 1
- }
- check_network(){
- ping -c 3 ${CHECK_HOST} 1>/dev/null 2>/dev/null
- return $?
- }
- check_status(){
- if check_network
- then
- echo -e "[\033[32mOK\033[0m]"
- [[ -z $1 ]] && on_network_available
- else
- echo -e "[\033[31mFailed\033[0m]"
- [[ -z $1 ]] && on_network_not_available
- fi
- }
- echo -n "Checking network is available..."
- check_status
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|