#! /bin/sh
# GPRS start/stop/check/restart
PATH=/bin:/usr/bin:/sbin:/usr/sbin
CHECK_HOST=(тут хост провайдера?)
LOGFILE=/var/log/dsl.log
log ()
{
DATE=`date +%Y.%m.%d_%H-%M-%S`
echo $1
echo [ $DATE ] - $1 >> $LOGFILE
}
touch $LOGFILE
case "$1" in
start)
log "Starting dsl..."
if [ ` ps aux | grep pppoe | grep -v grep | wc -l ` -gt 0 ] ; then
log "PPPoE is already run 8) check it"
exit 0
fi
pon dsl-provider
sleep 2
;;
stop)
log "Stopping dsl..."
if [ ` ps aux | grep pppoe | grep -v grep | wc -l ` -eq 0 ] ; then
log "PPPOE not started :)"
exit 0
fi
poff dsl-provider
sleep 2
if [ ` ps aux | grep pppoe | grep -v grep | wc -l ` -gt 0 ] ; then
log "Kill pppoe"
killall pppoe
fi
;;
check)
log "Checking dsl connection by pinging ${CHECK_HOST}..."
info=$(ping -qc3 -s1 -n $CHECK_HOST |grep packets| cut -d" " -f1,4)
set -- $info
if [ $1 != $2 ]; then
log "Try to ping end with failure!"
$0 restart
else
log "Ping OK"
fi
;;
restart|force-reload)
$0 stop
sleep 2
$0 start
;;
*)
log "Usage: /etc/init.d/dsl.sh {start|stop|restart|check}"
exit 1
esac
exit 0
# GPRS start/stop/check/restart
PATH=/bin:/usr/bin:/sbin:/usr/sbin
CHECK_HOST=(тут хост провайдера?)
LOGFILE=/var/log/dsl.log
log ()
{
DATE=`date +%Y.%m.%d_%H-%M-%S`
echo $1
echo [ $DATE ] - $1 >> $LOGFILE
}
touch $LOGFILE
case "$1" in
start)
log "Starting dsl..."
if [ ` ps aux | grep pppoe | grep -v grep | wc -l ` -gt 0 ] ; then
log "PPPoE is already run 8) check it"
exit 0
fi
pon dsl-provider
sleep 2
;;
stop)
log "Stopping dsl..."
if [ ` ps aux | grep pppoe | grep -v grep | wc -l ` -eq 0 ] ; then
log "PPPOE not started :)"
exit 0
fi
poff dsl-provider
sleep 2
if [ ` ps aux | grep pppoe | grep -v grep | wc -l ` -gt 0 ] ; then
log "Kill pppoe"
killall pppoe
fi
;;
check)
log "Checking dsl connection by pinging ${CHECK_HOST}..."
info=$(ping -qc3 -s1 -n $CHECK_HOST |grep packets| cut -d" " -f1,4)
set -- $info
if [ $1 != $2 ]; then
log "Try to ping end with failure!"
$0 restart
else
log "Ping OK"
fi
;;
restart|force-reload)
$0 stop
sleep 2
$0 start
;;
*)
log "Usage: /etc/init.d/dsl.sh {start|stop|restart|check}"
exit 1
esac
exit 0