编程开发

上次观看到

当前位置:首页> 鸡米饭>编程开发>

梅林路由器固件添加定时任务脚本教程

2022.12.17 13:06 阅读次数: 出自:鸡米饭 作者:绝歌一首

脚本1:重新拨号的脚本

# 刷的官改固件,脚本可以放到/koolshare/scripts 下,重启的话也不会丢失,官方固件的话可以放到/jffs 下

vi /koolshare/scripts/repppd.sh

#!/bin/sh

/usr/bin/logger  -c   "断开拨号连接"

killall pppd

/usr/bin/logger  -c   "延时10秒"

sleep 10

/usr/bin/logger  -c   "重新拨号"

pppd file /tmp/ppp/options.wan0 >/dev/null 2>&1 &

脚本2:检测脚本

# 检测百度是否可以连接,5秒超时,两次检测,间隔1分钟,如果两次检测都无法连接百度则执行脚本1重新拨号。具体参数看懂了自己改哦很简单的。

vi /koolshare/scripts/checknetwork.sh

#!/bin/sh

#检测网络链接畅通

function network()

{

#超时时间

local timeout=5

#目标网站

local target=www.baidu.com

#获取响应状态码

local ret_code=`curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1`

if [ "x$ret_code" = "x200" ]; then

#网络畅通

return 1

else

#网络不畅通

return 0

fi

return 0

}

#第1次检测

network

first_check=$?

#睡眠60秒

sleep 60

#第2次检测

network

second_check=$?

if [[ $first_check -eq 0 && $second_check -eq 0 ]];then

/usr/bin/logger  -c   "无法连接互联网,准备重新拨号!"

#执行脚本1重新拨号

/bin/sh  /koolshare/scripts/repppd.sh

exit -1

fi

/usr/bin/logger  -c  "网络正常"

exit 0

脚本3:开机添加定时任务脚本

# 因为路由器重启后,crontab的定时任务会被清空,所以需要在开机时用命令添加定时检测任务, /jffs/scripts/这个目录下的脚本在重启后都会重新执行。我写的是每10分钟执行一次网络检测的脚本。

vi  /jffs/scripts/services-start.sh

#!/bin/sh

#添加定时任务,每10分钟检测网络一次

/usr/sbin/cru a checknetwork "*/10 * * * * /bin/sh /koolshare/scripts/checknetwork.sh"

#每周一早上6点05分,重新拨号

/usr/sbin/cru a repppd "5 6 * * 1 /bin/sh /koolshare/scripts/repppd.sh"

折腾完成,可以重启路由器,ssh登录后,crontab -l 命令查看一下定时任务时候正常


上一篇:inux下设置samba共享方   下一篇: