|
以下是帮一个网友写的在dualwan下面使用的脚本, 据报告使用不稳定, 请酌情使用:- #!/bin/sh
- ##设置script_fire以在连上网络后自动执行, 执行频率太频繁?? 放弃
- #nvram set script_fire="/jffs/relogin.sh >/tmp/home/root/relogin.log 2>&1"
- #nvram commit
- ##为防止无流量或在线超过8小时导致被踢下线, 每三分钟访问某页面以保持在线, 每6小时自动重新登录
- ##cronjob for keepalive
- #*/3 * * * * root killall wget;wget http://hi.baidu.com/myeyre/blog/item/bb5470cfa42c2637f9dc613b.html -O /dev/null >/tmp/root/keepalive.log 2>&1 &
- ##cronjob for automatic relogin
- #0 */6 * * * root /jffs/relogin.sh >/tmp/home/root/relogin.log 2>&1 &
- date "+%Y-%m-%d %H:%M:%S"
- export PATH=.:$PATH
- #echo $PATH
- cd /tmp/home/root
- for wanx in wan wan2
- do
- wlanuserip=$(nvram get ${wanx}_ipaddr)
- echo ${wlanuserip}
- #nvram set wlanportal=221.176.1.140
- #nvram set wlanacname=0001.0410.240.00
- #nvram commit
- wlanportal=$(nvram get wlanportal)
- wlanacname=$(nvram get wlanacname)
- echo ${wlanportal}
- echo ${wlanacname}
- #nvram set wan_wlanuser=13888888888
- #nvram set wan_wlanpwd=888888
- #nvram set wan2_wlanuser=13999999999
- #nvram set wan2_wlanpwd=999999
- #nvram commit
- wlanuser=$(nvram get ${wanx}_wlanuser)
- wlanpwd=$(nvram get ${wanx}_wlanpwd)
- echo ${wlanuser}
- echo ${wlanpwd}
- route del -host $wlanportal
- route add -host $wlanportal gw $(nvram get ${wanx}_gateway) dev $(nvram get ${wanx}_ifname)
- if [ ! -e login_res_${wanx}.html ]
- then
- #login first
- wget "http://${wlanportal}/wlan/index.php?wlanacname=${wlanacname}&wlanuserip=${wlanuserip}&actiontype=LOGIN&USER=${wlanuser}&PWD=${wlanpwd}" -O login_res_${wanx}.html
- fi
- cat login_res_${wanx}.html|grep "cmcccs|login_res"
- logonsessid=`cat login_res_${wanx}.html|grep "logonsessid"|awk -F'"' '{print $6}'`
- echo $logonsessid
- #do a logout
- wget "http://${wlanportal}/wlan/index.php?wlanacname=${wlanacname}&wlanuserip=${wlanuserip}&actiontype=LOGOUT&USER=${wlanuser}&logonsessid=$logonsessid" -O logout_res_${wanx}.html
- cat logout_res_${wanx}.html|grep "cmcccs|offline_res"
- logoutsessid=`cat logout_res_${wanx}.html|grep "logonsessid"|awk -F'"' '{print $6}'`
- echo $logoutsessid
- #and then relogin
- wget "http://${wlanportal}/wlan/index.php?wlanacname=${wlanacname}&wlanuserip=${wlanuserip}&actiontype=LOGIN&USER=${wlanuser}&PWD=${wlanpwd}" -O login_res_${wanx}.html
- cat login_res_${wanx}.html|grep "cmcccs|login_res"
- logonsessid=`cat login_res_${wanx}.html|grep "logonsessid"|awk -F'"' '{print $6}'`
- echo $logonsessid
- date "+%Y-%m-%d %H:%M:%S"
- done
复制代码 |
|