# This script performs updates of hesiod files on hesiod servers.
# $Header$
-exec >/tmp/moira_update.log 2>&1
+if [ -d /var/athena ] && [ -w /var/athena ]; then
+ exec >/var/athena/moira_update.log 2>&1
+else
+ exec >/tmp/moira_update.log 2>&1
+fi
+
set -x
PATH=/etc:/bin:/usr/bin:/usr/etc:/usr/athena/etc
umask 022
# File that will contain the necessary information to be updated
-TARFILE=/var/tmp/nhesiod.out
+TARFILE=/var/tmp/hesiod.out
# Directory into which we will empty the tarfile
SRC_DIR=/etc/athena/_nameserver
# Directory into which we will put the final product
DEST_DIR=/etc/athena/nameserver
-NAMED=/etc/athena/named
+INIT=/etc/init.d/athena-bind
NAMED_PID=/var/athena/named.pid
# Create the destination directory if it doesn't exist
# on the same parition as $DEST_DIR.
if test ! -d $SRC_DIR
then
- chdir $DEST_DIR
+ # Tell linux cd/pwd not to be so "helpful".
+ # This will generate an ignorable error on older platforms.
+ set -P
+
+ cd $DEST_DIR
mkdir ../_nameserver
- chdir ../_nameserver
+ cd ../_nameserver
if test $SRC_DIR != `pwd`
then
ln -s `pwd` $SRC_DIR
# Make sure the file is not zero-length
if test ! -z $file
then
+ chmod o+r $file
mv -f $file $DEST_DIR
if test $? -ne 0
then
# existance as evidence that named as has been successfully restarted.
# First, get statistics
-kill -ILL `cat $NAMED_PID`
+/usr/athena/etc/rndc stats
sleep 1
-kill -KILL `cat $NAMED_PID`
+$INIT stop
rm -f $NAMED_PID
# Restart named.
-$NAMED
-echo named started
-
+$INIT start
sleep 1
# This timeout is implemented by having the shell check TIMEOUT times
# for the existance of $NAMED_PID and to sleep INTERVAL seconds