20120615

[教學] ADSL pppoe撥接斷線自動重連

arthour: Aeon Linn , aeon.tw

hinet upload 速度提升之後,
自設網站比外租 vitual hosting或 share hosting更划算。
但缺點是大約 14天,或者不定期的會斷線一次。

如果伺服器旁沒人協助重開,那就真的窘了。

以下程式碼放在排程,設定5~15分鐘執行一次。
同時適用於 ADSL/VDSL 使用pppoe撥接的機器。

*方法 ( 程式碼改寫來源)
粗紅體修改後存檔 為rePPPOE.vbs
然後測試後設定排程
PS:
1.此語法須預存撥接帳密
2.程式中判斷兩個網址都斷線才會觸發重連
3.可以把其中一個網址設定成自己的domain或固定IP 並且僅以此為判斷式
--這樣如果固定 IP 斷線會觸發重連

DIALNAME = "YOURPPPOE"
Set WshShell = CreateObject("WScript.Shell")
RetCode1 = WshShell.Run("ping www.google.com", 0, true)
RetCode2 = WshShell.Run("ping www.hinet.net", 0, true)
v1 = CStr(date)+" "+CStr(time)+": PING.AS "+CSTR(RetCode1)+","+CSTR(RetCode2)

If  (not(RetCode1=0) and not(RetCode2=0)) Then
    WshShell.Run "rasphone " & "-h " & DIALNAME , 0, true
    WScript.Sleep(3000)
    WshShell.Run "rasphone " & "-d " & DIALNAME
    v2 = "ERR"
    WriteLog v1,v2
     v1=v1+” ”+v2
    WScript.Sleep(3000)
End If

v2 = "ALL"
WriteLog v1,v2

Set WshShell = Nothing

Function WriteLog(vstr,vfile)

    Const ForReading=1 '
    Const ForWriting=2
    Const ForAppending=8

    Dim fso,file,msg

    Set fso=CreateObject("Scripting.FileSystemObject")
    Set file=fso.OpenTextFile("C:\YOURLOGFOLDER\rePPPOE_"+vfile+".LOG",ForAppending,True)

    file.WriteLine(vstr)

    file.Close

    set file=Nothing
    set fso=Nothing
End Function

 

#

0 意見:

張貼留言