shell实现自动adsl拨号并检测连接状况脚本分享

今天公司同事要我整个adsl自动重拨的shell,并检测是否连上了,这样才能保证内部测试服务器不掉网,好吧,下面我把脚本发出来.

系统:centos 5.x

脚本1:

代码如下:

cat /root/soft_shell/auto_adsl_1.sh
#!/bin/bash
gateway=`ifconfig ppp0 |grep P-t-P| cut -f 3 -d ":"|cut -f 1 -d " "`
inter=`ifconfig |grep ppp0|awk '{print $1}'`
N=2
if [[ $inter -eq ppp0 ]]
then
/sbin/adsl-stop
sleep 10
/sbin/adsl-start
sleep 20
pkgloss=`ping -c4 $gateway|grep 'transm' |awk -F',' '{print $2}' |awk '{print $1}'`
if [[ $pkgloss -lt $N ]]
then
echo "`date +%Y-%m-%d/%T` The network is not stable">>/root/adsl.txt
else
echo "`date +%Y-%m-%d/%T` The network is normal">>/root/adsl.txt
fi
fi

脚本2:

代码如下:

cat /root/soft_shell/auto_adsl_2.sh
#!/bin/bash
gateway=`ifconfig ppp0 |grep P-t-P| cut -f 3 -d ":"|cut -f 1 -d " "`
inter=`ifconfig |grep ppp0|awk '{print $1}'`
N=2
if [[ $inter != ppp0 ]]
then
/sbin/adsl-start
sleep 20
pkgloss=`ping -c4 $gateway|grep 'transm' |awk -F',' '{print $2}' |awk '{print $1}'`
if [[ $pkgloss -lt $N ]]
then
echo "`date +%Y-%m-%d/%T` The network is not stable">>/root/adsl.txt
else
echo "`date +%Y-%m-%d/%T` The network is normal">>/root/adsl.txt
fi
fi

ps:脚本2的作用就是检测adsl拨号是否有连上.

(0)

相关推荐

  • shell实现自动adsl拨号并检测连接状况脚本分享

    今天公司同事要我整个adsl自动重拨的shell,并检测是否连上了,这样才能保证内部测试服务器不掉网,好吧,下面我把脚本发出来. 系统:centos 5.x 脚本1: 复制代码 代码如下: cat /root/soft_shell/auto_adsl_1.sh #!/bin/bash gateway=`ifconfig ppp0 |grep P-t-P| cut -f 3 -d ":"|cut -f 1 -d " "` inter=`ifconfig |grep p

  • shell中的数组操作小结和冒泡排序实现脚本分享

    shell数组介绍: 复制代码 代码如下: //数组变量定义: $ arr=(1 3 6 8 2 5 9 0 7 4) // 默认获取第一个元素 $ echo $arr // 通过下标访问,下面取的数组第二个元素,shell数组下标是从0开始 $ echo ${arr[1]}    // 访问整个数组 $ echo ${arr[@]}  or echo ${arr[*]} // 获取数组的长度(最大下标) $ echo ${#arr[@]}  // 获取单个元素字符串长度 $ echo ${#a

  • linux adsl 拨号自动配置脚本的方法

    在使用动态vps服务器的时候发现一枚已经写好的自动配置拨号的shell脚本,分享一下,免去手动配置的烦恼,代码如下 #! /bin/sh PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin Log=/var/log/pppoe.log sed -i '/^GATEWAY/d' /etc/sysconfig/network-scripts/ifcfg-et

  • 用vbs实现的利用ADSL拨号变ip刷投票的代码

    以前写过一个利用ADSL拨号变ip刷流量的vbs,只要把刷新的页面稍微改一下(添加个自动提交的js)就是了,可是怎么找都找不到了,没法重新写. 还有种办法就是vbs直接提交,可是写了半天,怎么也没运行起,以后改好了在贴出来. 写的时候遇到了点问题,就是利用网页的js提交的时候,会跳转跳显示投票成果的页面,会弹出个投票成功的对话框,这会影响下面的打开网页.又没法屏蔽,所以采用了个折衷办法,每次结束浏览器进程,在刷后面的页面. 复制代码 代码如下: Const ForAppending = 8 Co

  • 用C#写的ADSL拨号程序的代码示例

    <!--StartFragment-->ADSL自动拨号类,前提是在系统中已经有了一个宽带拨号连接 调用代码: RASDisplay ras = new RASDisplay(); ras.Disconnect();//断线 ras.Connect("adsl");//拨号 复制代码 代码如下: using System;  using System.Runtime.InteropServices;  public struct RASCONN  {      public

  • ADSL拨号中出现的错误代码问答集

    笔者是中国网通公司的一名宽带系统维护员,对ADSL的各类障碍接触较多,对ADSL拨号中出现的错误代码通过查找资料整理如下: Error 602 The port is already open 问题:拨号网络网络由于设备安装错误或正在使用,不能进行连接 原因:RasPPPoE没有完全和正确的安装 解决:卸载干净任何PPPoE软件,重新安装 Error 605 Cannot set port information 问题:拨号网络网络由于设备安装错误不能设定使用端口 原因:RasPPPoE没有完全

  • Linux在shell中自动生成1到100的数组方法(两种方法)

    之前自己在写shell脚本的时候,需要自动创建1-100的文本确不知道该如何去创建.百度一翻终于知道了创建的方法. 在shell脚本中创建1-100的方法很多,那我在这里主要就说两种容易理解且方便的方法: 第一种方法: for i in {1..100} do echo $i done 使用{1..100}这种方式简单明了,大家也可以在linux命令模式下直接:echo {1..100}看一下效果. 第二种方法: 使用seq函数 for i in `seq 1 100` do echo $i d

  • linux自动清理日志脚本分享

    1.做自动部署系统时精简的一个脚本,主要功能是清理所有目录的日志 2.根据给定日志目录,删除时间 结合crontab进行清理日志,清理完成后,后在/var/log/deltelog/ 生成按照月的清理日志 3.扩展,因为脚本采用mtime(最后修改时间)进行删除,所以可以适用于删除过期备份等,不受文件名称的限制 shell小窍门 find –type f –print 时会根据换行或者空格来输出查找的文件,在不同的sh下有不同的反应,如果不做处理结合xargs 进行删除 更改操作,会有影响 所以

  • Python 多线程C段扫描、检测 Ping扫描脚本的实现

    我就废话不多说了,大家还是直接看代码吧~ import subprocess as p import time import threading from queue import Queue def check_ip(ip): w=p.Popen('ping -n 2 '+ip,shell=True,stdout=p.PIPE,stderr=p.PIPE,encoding='gbk') result=w.stdout.read() # print(result) if 'TTL' in res

  • Python实现自动玩连连看的脚本分享

    目录 序言 实现步骤 全部代码 序言 最近女朋友在玩连连看,玩了一个星期了还没通关,真的是菜. 我实在是看不过去了,直接用python写了个脚本代码,一分钟一把游戏. 快是快,就是联网玩容易被骂,嘿嘿~ 实现步骤 模块导入 import cv2 import numpy as np import win32api import win32gui import win32con from PIL import ImageGrab import time import random 窗体标题 用于定

随机推荐