38 lines
904 B
Bash
38 lines
904 B
Bash
#!/bin/bash
|
|
|
|
# Peter Poeml <poeml@suse.de>
|
|
# $Id: dhcpsync,v 1.10 2002/01/27 14:24:42 poeml Exp $
|
|
|
|
# for usage info, refer to dhcpsync(8)
|
|
|
|
test -n "$1" && SLAVE=$1
|
|
|
|
: ${SLAVE:?}
|
|
: ${SHARED:="/etc/dhcpd.conf.shared"}
|
|
: ${KEY:="/root/.ssh/dhcp-share"}
|
|
: ${SLEEP:=10}
|
|
|
|
# if run from the commandline, do not use an identity
|
|
# that ssh-agent holds for us -- use the $KEY
|
|
test -t 0 && unset SSH_AUTH_SOCK
|
|
|
|
PROGNAME=`basename $0`
|
|
PIDFILE=/var/run/$PROGNAME.pid
|
|
|
|
test "`/etc/init.d/dhcpd probe`" = restart \
|
|
&& {
|
|
trap 'rm $PIDFILE; exit 0' SIGTERM SIGINT SIGQUIT
|
|
|
|
test -e $PIDFILE \
|
|
&& { echo "$0 [`cat $PIDFILE`] is already running... maybe you can delete $PIDFILE. Exiting."; exit 2; }
|
|
echo $$ > $PIDFILE
|
|
|
|
logger $PROGNAME: restarting dhcpd;
|
|
/etc/init.d/dhcpd try-restart;
|
|
sleep $SLEEP;
|
|
RSYNC_RSH="/usr/bin/ssh -i $KEY" /usr/bin/rsync -cav $SHARED $SLAVE:/etc/;
|
|
rm $PIDFILE
|
|
}
|
|
|
|
exit 0
|