Date: Tue, 2 May 2006 09:12:21 -0400 From: "fbsd" <fbsd@a1poweruser.com> To: "freebsd-questions@FreeBSD. ORG" <freebsd-questions@FreeBSD.ORG> Subject: dhclient-exit-hooks Message-ID: <MIEPLLIBMLEEABPDBIEGKEPFHFAA.fbsd@a1poweruser.com>
next in thread | raw e-mail | index | archive | help
When this script runs the logger statements do not create any message in the targeted log files. IF I execute the same logger statements from the command line they work as expected. This is the boot time messages. dc0: link state changed to DOWN dc0: no link ....dc0: link state changed to UP got link dc0: link state changed to DOWN DHCPREQUEST on dc0 to 255.255.255.255 port 67 dc0: link state changed to UP DHCPACK from 10.0.10.2 dc0: link state changed to DOWN bound to 10.0.10.4 -- renewal in 43200 seconds. IF I execute the cat command to issue the notification email from the command line it works fine, but when used in the script I get these messages during boot process. I am running postfix launched by the sendmail wrappers on a FreeBSD 6.0 system. "~/.mailrc": No match. DHCPREQUEST on dc0 to 255.255.255.255 port 67 /libexec/ld-elf.so.1: Shared object "libpcre.so.0" not found, required by "send-mail" dc0: link state changed to UP DHCPREQUEST on dc0 to 255.255.255.255 port 67 DHCPACK from 10.0.10.2 dc0: link state changed to DOWN bound to 10.0.10.4 -- renewal in 43200 seconds. #! /bin/sh ############# Start of refresh dhcpd dns ip script ################# # This script will propagate to dhcpd the changed dns servers ip # addresswhich dhcp-client puts in resolv.conf. # # In dhcpd.conf replace the "option domain-name-servers" line with this # # include "/etc/dhcpd.name-servers"; # # Script uses the dhcpc variables to build temp line in dhcpd format. # Then compare temp content to production content. # If different replace production content with new content from temp and # restart dhcp to reread dhcpd.conf containing new ISP dns ip addresses. # # logging event and sending email to user root is optional. # # Note: All LAN machines using dhcpd will not get new ISP dns ip # addresses until they reboot or their lease comes up for renewal. # # Each of the following lines must be one long line. IE: no wrap around #################################################################### #### # load my_domain_name_servers variable with ISP dns ip addresses from dhcpc my_domain_name_servers=`echo $new_domain_name_servers | sed -e 's/ /, /g'` # Create single line in file to be included in dhcpd.conf echo "option domain-name-servers $my_domain_name_servers ;" > /etc/dhcpd.name-servers.tmp # See if different from what production file contains cmp -s /etc/dhcpd.name-servers.tmp /etc/dhcpd.name-servers if [ $? -gt 0 ]; then # move the new file into place mv /etc/dhcpd.name-servers.tmp /etc/dhcpd.name-servers # restart dhcp using whatever is appropriate for your platform #service dhcpd restart #/usr/local/etc/rc.d/isc-dhcpd.sh restart -q # Write message to /var/log/dhcpc.log to document event. logger -p user.warning -t dhclient Your ISP DNS IP addresses changed. # Write message to /var/log/dhcpd.log to document event. logger -p local1.warning -t dhclient Your ISP DNS IP addresses changed. # Send notification email to root user. This can wrap to next line. # cat << EOF | mail -s "dhcp client changed ISP DNS IP addresses" root #The dhclient-exit-hook script was invoked and has determined that your #ISP changed the IP address of their DNS servers. The new values have been #auto updated to dhcpd.conf and dhcp restarted so they are now in effect. # #Note: All LAN machines using dhcpd will not start using the new ISP dns #ip addresses until they reboot or their lease comes up for renewal. #EOF fi rm -f /etc/dhcpd.name-servers.tmp ############### End of refresh dhcpd dns ip script ###################
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?MIEPLLIBMLEEABPDBIEGKEPFHFAA.fbsd>