nixCraft Linux Forum

nixCraft

Linux / UNIX Tech Support Forum

Shell script to reconnect when PPP / DSL interface goes down

This is a discussion on Shell script to reconnect when PPP / DSL interface goes down within the Shell scripting forums, part of the Development/Scripting category; Hello,, I need script which prompt me when net is dc on my server. regards...


Go Back   nixCraft Linux Forum > Development/Scripting > Shell scripting

Linux answers from nixCraft.


Shell scripting You can discuss the shell scripting, request shell scripts and scripting techniques

Reply

 

LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 06-02-2007, 03:12 PM
Member
User
 
Join Date: Jan 2007
Posts: 47
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
zafar466
Default Shell script to reconnect when PPP / DSL interface goes down

Hello,,
I need script which prompt me when net is dc on my server.
regards
Reply With Quote
  #2 (permalink)  
Old 06-02-2007, 06:07 PM
nixcraft's Avatar
Never say die
User
 
Join Date: Jan 2005
Location: BIOS
OS: RHEL
Scripting language: Bash and Python
Posts: 2,710
Thanks: 11
Thanked 244 Times in 183 Posts
Rep Power: 10
nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute
Default

What is dc?

How do you connect to Internet?
__________________
Vivek Gite
Linux Evangelist
Be proud RHEL user, and let the world know about your enterprise choices! Join RedHat user group.
Always use CODE tags for posting system output and commands!
Do you run a Linux? Let's face it, you need help
Reply With Quote
  #3 (permalink)  
Old 06-02-2007, 09:48 PM
Member
User
 
Join Date: Jan 2007
Posts: 47
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
zafar466
Default

Dc means disconnected.
im using DSL connection
Reply With Quote
  #4 (permalink)  
Old 06-02-2007, 11:54 PM
nixcraft's Avatar
Never say die
User
 
Join Date: Jan 2005
Location: BIOS
OS: RHEL
Scripting language: Bash and Python
Posts: 2,710
Thanks: 11
Thanked 244 Times in 183 Posts
Rep Power: 10
nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute nixcraft has a reputation beyond repute
Default

You can ping to remote site and if ping failed you can reconnect. For example:
Code:
#!/bin/bash
# add ip / hostname separated by while space 

HOSTS="yourwebsite.com"
# no ping request
COUNT=1

# email report when 
for myHost in $HOSTS
do
  count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
  if [ $count -eq 0 ]; then
    # 100% failed 
    # Call script or command below to reconnect 
    # add your command below
  fi
done
Add your command before fi that reconnects DSL
__________________
Vivek Gite
Linux Evangelist
Be proud RHEL user, and let the world know about your enterprise choices! Join RedHat user group.
Always use CODE tags for posting system output and commands!
Do you run a Linux? Let's face it, you need help
Reply With Quote
  #5 (permalink)  
Old 13-07-2007, 12:37 PM
Ali_ix's Avatar
Junior Member
User
 
Join Date: Jul 2007
Location: Iran, Tehran
OS: Debian/Ubuntu
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
Ali_ix is on a distinguished road
Send a message via Yahoo to Ali_ix
Default

Hi,
This is part of script i use:

Code:
#!/bin/bash
#set -x

dnsbroken=`ping -c1nqW5 -s8 www.yahoo.ca 2>&1 | grep -e "unknown" -e "denied" -e "permited"`

if [ -n "$dnsbroken" ]
then

# reconnect the connection
    poff -a
    pon dsl-provider
    sleep 3

fi

# get current ip on ppp0
    x=`/sbin/ifconfig ppp0`
    y=${x#*inet addr:}
    y=${y%% *}

# log current ip
    echo $y > /home/ali/scripts/adsl_ip

exit 0
This is my first quick and dirty script for my pppoe dsl connection
You can run this every 3 - 5 minutes via cron (as root).
You can report the date, time and new ip address of machine as you like.

change the hostname (Yahoo! Canada), log path (/home/ali/scripts/adsl_ip) and your connection name (dsl-provider), then run.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads

Thread Thread Starter Forum Replies Last Post
[Solved] Shell script for ftp the file vishal_titre Shell scripting 4 21-08-2009 03:50 PM
Run mv command from ftp shell script subin Shell scripting 6 02-05-2008 09:44 AM
writing a shell script to find out my shell name jaymob123 Shell scripting 1 08-10-2007 12:36 AM
require shell script puppen Shell scripting 4 12-04-2006 09:42 PM
Shell Script dought Mahesh Shell scripting 3 16-02-2005 12:13 PM


All times are GMT +5.5. The time now is 09:02 AM.


Powered by vBulletin® Version 3.8.5 - Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.2
©2005-2010 nixCraft. All rights reserved

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38