#!/bin/sh # Script that restarts the ns-slapd server. # Exit status can be: # 0: Server restarted successfully # 1: Server could not be started # 2: Server started successfully (was not running) # 3: Server could not be stopped source @datadir@/@package_name@/data/DSSharedLib restart_instance() { SERV_ID=$1 server_already_stopped=0 @sbindir@/stop-dirsrv -d $initconfig_dir $SERV_ID status=$? if [ $status -eq 1 ] ; then return 3; else if [ $status -eq 2 ] ; then server_already_stopped=1 fi fi @sbindir@/start-dirsrv -d $initconfig_dir $SERV_ID status=$? if [ $server_already_stopped -eq 1 ] && [ $status -eq 0 ] ; then return 2; fi return $status } while getopts "d:" flag do case "$flag" in d) initconfig_dir="$OPTARG";; esac done shift $(($OPTIND-1)) if [ "$initconfig_dir" = "" ]; then initconfig_dir=@initconfigdir@ fi if [ "$#" -eq 0 ]; then # We're restarting all instances. ret=0 initfiles=`get_initconfig_files $initconfig_dir` || { echo No instances found in $initconfig_dir ; exit 1 ; } for i in $initfiles; do inst=`normalize_server_id $i` echo Restarting instance \"$inst\" restart_instance $inst rv=$? if [ "$rv" -ne 0 ]; then ret=$rv fi done exit $ret else # We're restarting a single instance. restart_instance $* exit $? fi