init scripts: Fix bug with writing PID files
[hcoop/domtool2.git] / scripts / domtool-slave
index 3611598..5392bea 100755 (executable)
@@ -1,9 +1,10 @@
 #!/usr/bin/pagsh.openafs
 
 #!/usr/bin/pagsh.openafs
 
-# This script should go in /etc/init.d/ on Debian Linux systems running Domtool slaves.
+# This script should go in /etc/init.d/ on Debian Linux systems
+# running Domtool slaves.
 
 SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
 
 SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
-PIDFILE="/var/run/k5start-domtool-slave.pid"
+PIDFILE="/var/run/domtool/k5start-slave.pid"
 
 set -e
 
 
 set -e
 
@@ -13,11 +14,17 @@ case $1 in
        if sudo -u domtool domtool-admin-sudo slave-ping; then
                echo "...already running."
        else
        if sudo -u domtool domtool-admin-sudo slave-ping; then
                echo "...already running."
        else
+               PIDDIR=$(dirname "$PIDFILE")
+               if test ! -d "$PIDDIR"; then
+                       mkdir -m 0755 $PIDDIR
+                       chown domtool:domtool $PIDDIR
+               fi
+
                start-stop-daemon --start --pidfile $PIDFILE \
                        -c domtool:domtool \
                start-stop-daemon --start --pidfile $PIDFILE \
                        -c domtool:domtool \
-                       --exec /usr/bin/k5start -- -b -f /etc/keytabs/domtool.keytab \
+                       --exec /usr/bin/k5start -- -U -b \
+                       -f /etc/keytabs/domtool \
                        -K 300 -t -p $PIDFILE \
                        -K 300 -t -p $PIDFILE \
-                       domtool/deleuze.hcoop.net \
                        domtool-slave-logged
                echo "."
        fi
                        domtool-slave-logged
                echo "."
        fi
@@ -35,7 +42,7 @@ case $1 in
        ;;
 
   restart|reload|force-reload)
        ;;
 
   restart|reload|force-reload)
-       $SELF stop
+       set +e; $SELF stop; set -e
        $SELF start
        ;;
 
        $SELF start
        ;;