1

我需要为 SOHO 环境中的 Internet gw 提供简单的解决方案。它有 2 个互联网连接 - 主要通过 adsl 链接和通过 USB 3G 调制解调器备份。两种连接都导出标准 PPP 接口,因此可以通过命令行或脚本轻松打开/关闭它们。脚本必须能够:

  1. 检查主要互联网连接是否仍然可用,例如每 30 秒。
  2. 如果它连续 10 次不可用(这意味着大约 300 秒),它必须断开主连接(如果它仍然连接),并尝试重新连接它
  3. 如果(2)没有解决问题,它必须断开主连接(再次,如果它完全连接)并继续打开备份连接。
  4. 如果 (3) 成功执行,则必须定期(例如,每小时)尝试切换回主 conn-n,以确保它仍然不可用,如果不可用,然后再次回退到备份。如果是,则留在主要的。
  5. 能够在简单的文本日志文件中镜像所有上述转换。

我可以借用任何建议和有用的代码片段/片段,以使这些任务更容易?

4

1 回答 1

2

使用以下脚本,您可以检查连接是否正常,添加一些睡眠和循环,您就很好了。

Function ExecPing(strTarget)
  Set objShell = CreateObject("WScript.Shell")
  Set objExec = objShell.Exec("ping -n 2 -w 1000 " & strTarget)
  strPingResults = LCase(objExec.StdOut.ReadAll)
  If InStr(strPingResults, "reply from") Then 
    WScript.Echo VbCrLf & strTarget & " responded to ping."
    ExecPing = True
  Else
    WScript.Echo VbCrLf & strTarget & " did not respond to ping."
    ExecPing = False
  End If
End Function

ExecPing inputbox( "Give the ip/unc/url to ping:")
于 2013-04-30T13:56:23.483 回答