All pastes #65083 Raw Edit

priv -adsl conection

public text v1 · immutable
#65083 ·published 2006-06-13 11:40 UTC
rendered paste body
script 1

root@time:~# cat arec.sh
#!/bin/sh
while [ 1==1 ] ; do
    ping=0
    for n in `awk '/nameserver/{print $2}' /etc/resolv.conf | xargs` ; do
        if ping -c 1 $n > /dev/null ; then
            ping=1
        fi
    done
    if ! [ $ping == "1" ] ; then
        logger ADSL connection restarted
        /etc/init.d/dial start
        #killall pppd
        #ifconfig nas0 0
        #killall br2684ctl
        #/etc/init.d/dial start
    fi
    sleep 60
done
root@time:~#


nu am stiut ce sa ii fac,am tot incercat sa modific si etc,dar kkt

script  2

#5 * * * * if ! ping -c 1 -n 193.231.100.2  > /dev/null ; then /etc/init.d/dial start ; logger ADSL connection restarted ; fi

asta nu prea e script dar ma rog,tot nu a mers

script 3.

asta l-a facut cineva pentru mine,dar tot nu merge si nu ne-am dat seama de ce

root@time:~# cat autorecon.sh
#!/bin/bash

SLEEP=60
GATEWAY=$(ip addr show dev ppp0 | \
          sed -n 3p | \
          awk '{ print $4 }' | \
          sed -e 's:/[0-9]*::' \
)

#TIMER=/var/run/autorecon.timer
TIMER=/tmp/autorecon.timer # for non-root tests
PASS=0

do_dnsstuff()
{
# Whatever ;)
echo "DNS stuff..."
}

do_pass()
{
  ((PASS++))
  echo $(($(date +%s)+($SLEEP*2+5))) > $TIMER
  echo $PASS >> $TIMER
  take_action
}

take_action()
{
# Here are the reconnect attemps number and actions to take.
  case $PASS in
    2|4|5|6) echo /etc/init.d/dial restart;;
    3) echo /etc/init.d/natfire restart;;
    7) echo reboot;;
  esac
  exit -$PASS
}

if [ -e $TIMER ]; then
  if [ $(date +%s) -lt $(sed -n "1p" $TIMER) ]; then
    PASS=$(sed -n "2p" $TIMER)
    rm $TIMER
  else
    rm $TIMER
  fi
fi

# See if the ATM bridge or pppd died.
if [ -z $(pidof pppd) ] || [ -z $(pidof br2684ctl) ]; then
  echo "pppd or ATM bridge died."
  do_pass
fi

# See if ppp0 exist in the links.
if [ -z $GATEWAY ]; then
  echo "ppp0 does not exist."
  do_pass
fi

# If ping fails, take actions.
ping -c 3 $GATEWAY > /dev/null || do_pass
echo "Ping OK"

# If DNS fails, take actions for DNS.
host google.com > /dev/null || do_dnsstuff
echo "DNS OK"

exit 0
root@time:~#


script 4 

asta este scriptul de dial pe care il folosesc cand dau /etc/init.d/dial start
sa se reconecteze dupa ce pica

root@time:~# cat /etc/init.d/dial
#!/bin/bash

modprobe ppp_generic
modprobe pppoatm
modprobe br2684

fix_config()
{
  sed -i 's@gateway@# gateway@g' /etc/network/interfaces &&
  sed -i 's@dns@# dns@g' /etc/network/interfaces &&
  rm -f /etc/resolv.conf
}

start_modem()
{
  br2684ctl -b -c 0 -a 0.35
  sleep 3s
  ifconfig nas0 192.168.0.1 netmask 255.255.255.0 up
  pppd call speedtch
}

stop_modem()
{
  killall pppd
  ifconfig nas0 0
  killall br2684ctl
}

case $1 in
  start)
    SYNCHED=0
    fix_config
    for COUNT in $(seq 0 30)
    do
      stop_modem
      sleep 2s
      start_modem
      sleep 8s
      if [ ! -z $(pidof pppd) ]; then
        echo "ADSL is up and running."
        exit 0
      fi
    done
    cp -L /etc/ppp/resolv.conf /etc
  ;;

  stop)
    stop_modem
  ;;

  restart)
    $0 stop
    sleep 5s
    $0 start
  ;;

  status)
    BRIDGE="up"
    MODEM="up"
    [ -z $(pidof br2684ctl) ] && BRIDGE="down"
    [ -z $(pidof pppd) ] && MODEM="down"
    echo "Bridge is $BRIDGE and modem is $MODEM."
  ;;

  *)
    echo "Usage: $0 start|stop|restart|status"
  ;;
esac
root@time:~#


cam asta e tot