Using dhclient to update zoneedit with my dynamic IP address

Lowell Gilbert freebsd-questions-local at be-well.ilk.org
Sun Feb 15 05:03:39 PST 2004


"JJB" <Barbish3 at adelphia.net> writes:

> Thanks for this sample, but it exceeds my script coding ability.
> I added some comments to your sample but I may be lost.
> 
> #!/bin/sh
> 
> updater_prog = /usr/local/bin/noip2        # program to run
> if [ x$reason = xREBOOT ]   || 	\      #  is this an reboot or
>    [ x$old_ip_address = x ] || 	\      #  old ip field empty or
>    [ x$old_ip_address != x$new_ip_address ]; then   #  old not EQ new  then
>     if [ -x $updater_prog ]; then                # don't know what this does

That tests whether the program exists and is executable.

> 	${updater_prog} -i "$new_ip_address"    # exec program
>     fi
> fi
> 
> For my purposes I think this is what I need.
> This way zoneedit is only updated when ip changes.
> Do I have script correct?
> 
> /etc/dhclient-exit-hooks.sh    with this content
> #!/bin/sh
> # This script only gets called when dhclient runs
> # (IE: boot and lease expire)
> # Old and new ip  address fields are populated by dhclient,
> # which keeps the old used IP address in some config file
> # so it's not lost on reboot and can be read in at boot time to
> # determine if the ip has changed. So with cable or dsl modem
> # that stays powered on while PC is powered off still is
> # using old IP address.
> 
> updater_prog = /usr/local/bin/wget....rest of command   # my wget pgm
> 
> if [ x$old_ip_address != x$new_ip_address ];   # old not EQ new
> 	then ${updater_prog}                     # exec my pgm
> fi

Looks like that should work...


More information about the freebsd-questions mailing list