前面两篇文章中,我们都对PPP的嵌入式设置进行了讲解。如果大家还有不清楚的地方,可以回顾一下《arm上实现PPP拨号脚本 》、《Linux内核PPP套件设置 》两篇文章。那么这里我们则主要讲解一下关于PPPD和GPRS自动拨号脚本(真正的实时监控,断线自动重拨)的内容。参考:http://www.tvrofans.org/viewthread.php?tid=8117&extra=&page=1
开机自动运行,实时监控,断线自动重拨
把文件传到DM里,设置文件属性为755,然后把启动路径加到init文件里即可
原设置为5秒去检测一次,是以1字节去PING
- #!/bin/sh
- #请把dns1,dns2修改成拼得通的DNS,开机自动运行,实时监控,断线自动重拨
- dns1="211.95.193.97"
- dns2="211.136.20.203"
- sleep 8
- #/bin/pppd call gprs-siem &
- sleep 12
- while true
- do
- ping -s 1 -c 1 $dns1 #去PING***个DNS
- if [ "$?" != "0" ] #假如PING不通
- then
- ping -s 1 -c 2 $dns2 #去PING第二个DNS
- if [ "$?" != "0" ] #假如PING不通
- then
- killall pppd #结束PPPD进程
- pppd call gprs-siem & #再去拨号
- sleep 12 #等待12秒
- sleep 5 #如果是PING DNS2通的话就直接等待5秒
- fi
- else
- sleep 5 #如果是PING DNS1通的话就直接等待5秒(一般要设置多长时间去PING请改这里)
- fi
- done
大家会问这样一直PING下去担心流量问题,浪费一些流量是垦定的,不过我们是以1个字节去PING 加上返回的值一共是9个字节,也就是说5秒用9个字节。
D1 U% ]& i
一个小时用9*12*60是一个小时6480字节=6。328125K
也就是说这样一个小时加6.33K的流量
大家还是担心的话可以改一下脚本,比如改60秒去PING一次啦,等等,都能有效去省流量!!