zoukankan      html  css  js  c++  java
  • 《shell编程实例 — 实现4G开机自动运行,实时监测,断线自动重拨》

    1.GPRS自动拨号脚本(真正的实时监控,断线自动重拨)

      功能:开机自动运行,实时监控,断线自动重拨。
      原设置为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  -s表示数据包大小 -c就是count,表示次数(如果ping通$?就会=0.ping不通$?=1)
           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

    $0 这个程式的执行名字
    $n 这个程式的第n个参数值,n=1..9
    $* 这个程式的所有参数,此选项参数可超过9个。
    $# 这个程式的参数个数
    $$ 这个程式的PID(脚本运行的当前进程ID号)
    $! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
    $? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
    $- 显示shell使用的当前选项,与set命令功能相同
    $@ 跟$*类似,但是可以当作数组用

  • 相关阅读:
    谁知道怎么获得客户端的语系,不是encoding哦
    如何动态控制弹出窗体的大小
    维权成功!
    KFC的mm在练习做圣代
    CICD自动化发版系统设计简介
    java IO (File类)
    StringBuffer
    Arrays和比较器
    java正则
    Math和Random类
  • 原文地址:https://www.cnblogs.com/zhuangquan/p/12197606.html
Copyright © 2011-2022 走看看