How to run script (sleep360) without delaying bootup

Kam Leo kam.leo at gmail.com
Sun Apr 22 20:48:24 UTC 2007


On 4/22/07, Nigel Henry <cave.dnb at tiscali.fr> wrote:
> On Sunday 22 April 2007 22:14, Kam Leo wrote:
> > On 4/22/07, Nigel Henry <cave.dnb at tiscali.fr> wrote:
> > > On Sunday 22 April 2007 19:16, Steve Siegfried wrote:
> > > > Nigel Henry wrote:
> > > > > On Sunday 22 April 2007 18:19, Scott Berry wrote:
> > > > > > Nigel, what would you want to ping?  I think you could put a line
> > > > > > in that script to do that.
> > > > > >
> > > > > > Scott
> > > > >
> > > > > Pinging a server on the Internet isn't really the problem, as long as
> > > > > nobody get's T'd off on getting a ping on a daily basis. All I want
> > > > > is a script that will continually send a ping to <some server>, then
> > > > > when the Internet connection is up, and it gets a positive response
> > > > > from the server, will then run /usr/local/bin/ntp-restart, and
> > > > > terminate the ping. This will then restart the ntp daemon, and all of
> > > > > the servers listed in /etc/ntp.conf will be polled.
> > > > >
> > > > > At the moment when the ntp daemon is started at bootup on FC2, I get
> > > > > varying results. Post bootup I connect to the Internet, and sometimes
> > > > > just one of the six timeservers is listed when running ntpq> pe, and
> > > > > sometimes 4 of the timeservers are listed, but never the 6. If I do
> > > > > an /etc/init.d/ntpd stop, followed by an /etc/init.d start, then run
> > > > > ntpq, I see all 6 Internet timeservers listed.
> > > > >
> > > > > There is a problem with the ntp daemon, at least on FC2, when no
> > > > > Internet connection is available at bootup.
> > > > >
> > > > > Nigel.
> > > >
> > > > You can probably do this without pinging.
> > > >
> > > > Assuming you talk to the outside internet via eth0, then "ifconfig
> > > > eth0" won't tell you what your ip-address is until eth0 is all the way
> > > > up.
> > > >
> > > > Thus, the following script will either:
> > > >  - print your ip-address and return 0 (success),
> > > > or
> > > >  - print "eth0 not active." and return 1 (failure).
> > > >
> > > >     > #!/bin/ksh
> > > >     > DEVICE=${1:-eth0}
> > > >     > if [ `/sbin/ifconfig | grep ^$DEVICE | wc -l` = 0 ]
> > > >     > then echo "$DEVICE not active."
> > > >     >      exit 1
> > > >     > else mungeline=`/sbin/ifconfig $DEVICE | grep "inet addr" | tr -s
> > > >     > ":" " " | cut -d' ' -f4` echo $mungeline
> > > >     >      exit 0
> > > >     > fi
> > > >
> > > > Hope this helps,
> > > >
> > > > -S
> > >
> > > This is my setup. I have 2 machines on a LAN. These access the Internet
> > > through a Smoothwall firewall, which is installed on an old machine. The
> > > Smoothwall accesses the Internet through a serial modem. To connect to
> > > Internet I have to have one of the machines on the LAN booted up, so as
> > > access the web interface to the Smoothwall.
> > >
> > > So this is the way it goes. The Smoothwall is left running continually,
> > > but I shut down the dialup connection, and the 2 machines on the LAN last
> > > thing at night, unless I'm doing updates.
> > >
> > > Next day. Smoothwall is still running, but no connection to the Internet.
> > > Next I boot the machine on the LAN that has the Internet timeservers
> > > listed in /etc/ntp.conf. The machine boots up (this is FC2) , but because
> > > no Internet connection is available the ntpd times out, goes out to
> > > lunch, gives up trying to contact the timeservers, whatever. Post boot
> > > up, and running ntpq> pe, sometimes there is 1 of the 6 timeservers
> > > showing, and sometimes 4 of the 6.
> > >
> > > If I now stop and start ntpd all 6 of the timeservers are listed when
> > > running ntpq> pe.
> > >
> > > So, and this is a problem with ntpd on FC2. On FC6 ncpd seems to handle
> > > an ititial "no Internet connection available" ok, and when I make the
> > > connection to the Internet all the timeservers are listed on ntpq> pe.
> > > Back to the FC2 problem.
> > >
> > > Smoothwall is running, but dialup connection is down. Boot up the machine
> > > on the LAN that has the Internet timeservers in /etc/ntp.conf. Ntpd is
> > > started on bootup, but can't find the timeservers, as there is no
> > > Internet connection, so ntpd decides to go out to lunch.
> > >
> > > The sort of script that I'm looking for is one that will be either run
> > > from /etc/rc.d/rc.local, but without delaying, hanging, stalling the
> > > bootup sequence, or being run post bootup as root. A cron job won't do
> > > this, as it runs at a specific time. This script needs to be run either
> > > during, or post bootup.
> > >
> > > So this is the script I need. Either started with /etc/init.d/rc.local.
> > > or post boot up
> > >
> > > Ping an Internet address every minute. When a response is received
> > > showing an active Internet connection, then run
> > > /usr/local/bin/ntp-restart.
> > >
> > > Perhaps I'm asking too much.
> > >
> > > Nigel.
> >
> > Why the obsession with ntp? The on board clock should be able maintain
> > accurate time for at least a day or two.
>
> I'm trying to solve a problem here, not trying to start a rant on whether to
> use ntp or not.
>
> This machine has problems with the time, so I'm trying to resolve it. That's
> not much to ask, is it?

Not trying to start a flame war. Just curious why you don't ping your
ISP. Wouldn't that do serve the same purpose that you are trying to
achieve?


> Nigel.




More information about the fedora-list mailing list