So I now see two scripts Shlomo's and Noams. Which would be most appropriate for cable connection?
Boy I was so excited to get a fixed IP address. But the connection dies often. With the dynamic IP I never had such a problem. I guess it is just a trade off. Thanks Aaron On א', 2004-05-16 at 18:30, Shlomo Solomon wrote: > On Saturday 15 May 2004 21:40, Noam Meltzer wrote: > > Hetz Ben Hamo wrote: > > > Hi, > > > > > > I have a situation which is well known to people - your machine is > > > connected (PPTP) to the net, but sometimes there's disconnection > > > I have such scripts, which I managed to write during the time (and based > > on other scripts which I found on the internet. - sorry, but i don't > > FWIW, I also have a script to do the job. It's not as **smart** as what Noam > suggested, but it works well for me (running as a cron job every 2 minutes). > The basic idea is to check if the connection is up (not depending on ifconfig > which may report a ppp connection even when pptp has died). The only > **special** thing I did was a sort of primitive **limited time locking**. My > problem was that sometimes the reconnection takes more than 2 minutes and > this would result in more than 1 copy of the script running. On the other > hand, a **normal** lock file wouldn't solve the problem if the computer > itself locked up. Because when it restarted, the old, out-of-date lock file > would still be there. So I test the lock file to see if it should be deleted. > All the rest is self explanatory. > > I'm including 3 scripts (and as with Noam's script, you also need a firewall > script). I put in a phoney username in the last script (my paranoia). > > > >>>>>>>>>>>> file 1 - myADSLtest <<<<<<<<<<<<<<< > > #!/bin/bash > ## myADSLtest - reset ADSL if it stops responding - run every 2 minutes > > MYDATE=`(set \`date\`; echo $1 $2 $3 $4 $5 $6)` > > ## is the script already running? > if test -e /tmp/tst-lock-myADSLtest; then ## lock exists so already running > echo "myADSLtest is already running so let's quit " $MYDATE > >> /var/log/mylogs/adsl-down.log > cat /tmp/tst-lock-myADSLtest > ## next line adds an "X" to the lock file - for use in testing old lock files > echo "X" >> /tmp/tst-lock-myADSLtest > > ## next lines delete lock file older than 20 minutes > grep -c "X" /tmp/tst-lock-myADSLtest | grep 9 > > /tmp/tst-for-old-lock-myADSLtest > > if test -s /tmp/tst-for-old-lock-myADSLtest; then > ## not a zero sized file so 9 Xs (i.e. 20 minutes) found > echo "we should remove the old lock file" > rm -f /tmp/tst-lock-myADSLtest > else > echo "the file isn't old enough to remove" > fi > exit > fi > > ## create the lock file > touch /tmp/tst-lock-myADSLtest > > ## fping instead of ping - allows testing more than one address > fping www.barak-online.net www.google.co.il www.google.com | grep "is alive" > > /tmp/tst-if-alive > if test -s /tmp/tst-if-alive; then ## not a zero file - found "is alive" > echo "ping is OK - we're online" > else > echo "<<< not OK >>>" >> /var/log/mylogs/adsl-connect.log > echo "calling myadslreset " >> /var/log/mylogs/adsl-connect.log > echo "ADSL was down at: " $MYDATE >> /var/log/mylogs/adsl-down.log > /data1/myscripts/myadslreset >> /var/log/mylogs/adsl-connect.log > MYDATE=`(set \`date\`; echo $1 $2 $3 $4 $5 $6)` > echo "ADSL back up at ---- " $MYDATE >> /var/log/mylogs/adsl-connect.log > echo "ADSL back up at ---- " $MYDATE >> /var/log/mylogs/adsl-down.log > fi > > ## delete the lock file > rm -f /tmp/tst-lock-myADSLtest > > > > >>>>>>>>>>>> file 2 - myadslreset <<<<<<<<<<<<<<< > > #!/bin/bash > ## reset ADSL if it stops responding > killall pptp > killall pppd > echo "clearing unix domain - ADSL - suggested by mulix 20/2/01" > rm -f /var/run/pptp/10.0.0.138 > > ## sleep a bit to make sure the previous steps finished > sleep 10 > > /data1/myscripts/myintermail > /data1/myscripts/myFWup > > > >>>>>>>>>>>> file 3 - myintermail <<<<<<<<<<<<<<< > > #!/bin/bash > ## start ADSL on InterMail > > ifconfig eth0 10.200.1.1 netmask 255.0.0.0 mtu 1500 > > ## next line changed for InterMail 28-3-04 1-800-206-207 > ## - also note changes to pap-secrets and chap-secrets > pptp 10.0.0.138 debug user [EMAIL PROTECTED] remotename "10.0.0.138 > RELAY_PPP1" defaultroute netmask 255.0.0.0 mtu 1452 noauth > > ================================================================To unsubscribe, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail [EMAIL PROTECTED]