淺析PPPD和GPRS撥號代碼
前面兩篇文章中,我們都對PPP的嵌入式設(shè)置進(jìn)行了講解。如果大家還有不清楚的地方,可以回顧一下《arm上實(shí)現(xiàn)PPP撥號腳本 》、《Linux內(nèi)核PPP套件設(shè)置 》兩篇文章。那么這里我們則主要講解一下關(guān)于PPPD和GPRS自動撥號腳本(真正的實(shí)時(shí)監(jiān)控,斷線自動重?fù)埽┑膬?nèi)容。參考:http://www.tvrofans.org/viewthread.php?tid=8117&extra=&page=1
開機(jī)自動運(yùn)行,實(shí)時(shí)監(jiān)控,斷線自動重?fù)?/p>
把文件傳到DM里,設(shè)置文件屬性為755,然后把啟動路徑加到init文件里即可
原設(shè)置為5秒去檢測一次,是以1字節(jié)去PING
- #!/bin/sh
- #請把dns1,dns2修改成拼得通的DNS,開機(jī)自動運(yùn)行,實(shí)時(shí)監(jiān)控,斷線自動重?fù)?
- 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***個(gè)DNS
- if [ "$?" != "0" ] #假如PING不通
- then
- ping -s 1 -c 2 $dns2 #去PING第二個(gè)DNS
- if [ "$?" != "0" ] #假如PING不通
- then
- killall pppd #結(jié)束PPPD進(jìn)程
- pppd call gprs-siem & #再去撥號
- sleep 12 #等待12秒
- sleep 5 #如果是PING DNS2通的話就直接等待5秒
- fi
- else
- sleep 5 #如果是PING DNS1通的話就直接等待5秒(一般要設(shè)置多長時(shí)間去PING請改這里)
- fi
- done
大家會問這樣一直PING下去擔(dān)心流量問題,浪費(fèi)一些流量是墾定的,不過我們是以1個(gè)字節(jié)去PING 加上返回的值一共是9個(gè)字節(jié),也就是說5秒用9個(gè)字節(jié)。
D1 U% ]& i
一個(gè)小時(shí)用9*12*60是一個(gè)小時(shí)6480字節(jié)=6。328125K
也就是說這樣一個(gè)小時(shí)加6.33K的流量
大家還是擔(dān)心的話可以改一下腳本,比如改60秒去PING一次啦,等等,都能有效去省流量??!