]> andersk Git - moira.git/blame - gen/dhcp.sh
use abstraction barriers to restart dhcpd
[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
ca05ebfe 16PATH=/usr/bin:/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
4e32a331 22PSWDFILE=/var/boot/hp.add
23
24# Alert if the tar file or other needed files do not exist
25test -r $TARFILE || exit $MR_MISSINGFILE
26test -r $BOOTHEAD || exit $MR_MISSINGFILE
27test -r $BOOTFOOT || exit $MR_MISSINGFILE
28test -r $PSWDFILE || exit $MR_MISSINGFILE
29
30cd /
31tar xf $TARFILE || exit $MR_TARERR
32
33# Append passwords, etc., to the new files
34for f in `find /var/boot/hp -name \*.new -print`; do
35 cat $PSWDFILE >> $f
36 mv $f /var/boot/hp/`basename $f .new`
37done
38
39# Build full bootptab
40cat $BOOTHEAD $BOOTGEN $BOOTFOOT > $BOOTFILE
41
7f18a2f8 42# kill and rerun dhcpd
0205825b 43/etc/init.d/dhcpd stop
44/etc/init.d/dhcpd start
7f18a2f8 45
4e32a331 46# cleanup
47test -f $TARFILE && rm -f $TARFILE
48test -f $0 && rm -f $0
49
50exit 0
This page took 0.064007 seconds and 5 git commands to generate.