今天公司同事要我整個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撥號是否有連上.