]> andersk Git - moira.git/blame - gen/dhcp.sh
use abstraction barriers (init script) for restarting named
[moira.git] / gen / dhcp.sh
CommitLineData
4e32a331 1#! /bin/sh
2# $Id$
3
4if [ -d /var/athena ] && [ -w /var/athena ]; then
5 exec >/var/athena/moira_update.log 2>&1
6else
7 exec >/tmp/moira_update.log 2>&1
8fi
9
10# The following exit codes are defined and MUST BE CONSISTENT with the
11# error codes the library uses:
12MR_MISSINGFILE=47836473
13MR_MKCRED=47836474
14MR_TARERR=47836476
15
16PATH=/usr/bin
cd80bf24 17TARFILE=/var/tmp/dhcp.out
4e32a331 18BOOTGEN=/var/boot/dhcpd.conf.print
19BOOTHEAD=/var/boot/dhcpd.conf.head
20BOOTFOOT=/var/boot/dhcpd.conf.foot
cd80bf24 21BOOTFILE=/var/boot/dhcpd.conf
7f18a2f8 22LEASEFILE=/var/boot/dhcpd.leases
23PIDFILE=/var/boot/dhcpd.pid
24BINFILE=/var/boot/dhcpd
4e32a331 25PSWDFILE=/var/boot/hp.add
26
27# Alert if the tar file or other needed files do not exist
28test -r $TARFILE || exit $MR_MISSINGFILE
29test -r $BOOTHEAD || exit $MR_MISSINGFILE
30test -r $BOOTFOOT || exit $MR_MISSINGFILE
31test -r $PSWDFILE || exit $MR_MISSINGFILE
32
33cd /
34tar xf $TARFILE || exit $MR_TARERR
35
36# Append passwords, etc., to the new files
37for f in `find /var/boot/hp -name \*.new -print`; do
38 cat $PSWDFILE >> $f
39 mv $f /var/boot/hp/`basename $f .new`
40done
41
42# Build full bootptab
43cat $BOOTHEAD $BOOTGEN $BOOTFOOT > $BOOTFILE
44
7f18a2f8 45# kill and rerun dhcpd
46test -f $PIDFILE && kill `cat $PIDFILE`
47test -x $BINFILE && $BINFILE -cf $BOOTFILE -lf $LEASEFILE -pf $PIDFILE
48
4e32a331 49# cleanup
50test -f $TARFILE && rm -f $TARFILE
51test -f $0 && rm -f $0
52
53exit 0
This page took 0.102388 seconds and 5 git commands to generate.