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

(编辑:jimmy 日期: 2024/12/25 浏览:2)

今天公司同事要我整个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拨号是否有连上.