#! /bin/sh # # chkconfig: - 20 80 # description: LDAP service server # # processname: slapd # config: /usr/local/etc/openldap/slapd.conf # pidfile: /usr/local/var/run/slapd.pid PROGNAME=slapd SLAPD=/usr/local/libexec/slapd PIDFILE=/usr/local/var/run/slapd/slapd.pid SLAPD_ARGS="-u ldap -g ldap" RETVAL=0 case "$1" in start) echo -n "Starting $PROGNAME: " $SLAPD $SLAPD_ARGS RETVAL=$? if [ $RETVAL -eq 0 ] then echo "OK" else echo "NG" fi ;; stop) echo -n "Stopping $PROGNAME: " if [ -r $PIDFILE ] then kill -TERM `cat $PIDFILE` RETVAL=$? if [ $RETVAL -eq 0 ] then echo "OK" else echo "NG" fi else RETVAL=1 echo "NG" fi ;; restart) $0 stop sleep 1 $0 start ;; status) if [ -r $PIDFILE ] then ps -p `cat $PIDFILE` > /dev/null 2>&1 RETVAL=$? if [ $RETVAL -eq 0 ] then echo "$PROGNAME is running" else echo "$PROGNAME is stopped" fi else echo "$PROGNAME is stopped" fi ;; *) echo "Usage: $0 {start|stop|restart|status}" RETVAL=1 esac exit $RETVAL