60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#! /bin/sh
fdd80e9a55c70b36a3bf3e409b86897301c44ff8Automatic Updater#
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews# OPENDJ SERVICE SCRIPT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER START
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Common Development and Distribution License, Version 1.0 only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# (the "License"). You may not use this file except in compliance
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# with the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# trunk/opendj3/legal-notices/CDDLv1_0.txt
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# or http://forgerock.org/license/CDDLv1.0.html.
3acf5eb97cebc2ba868e6ac4a4e01e6d1be0c892Automatic Updater# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# When distributing Covered Code, include this CDDL HEADER in each
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# file and include the License file at
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews# trunk/opendj3/legal-notices/CDDLv1_0.txt. If applicable,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# add the following below this CDDL HEADER, with the fields enclosed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# by brackets "[]" replaced with your own identifying information:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright 2013 ForgeRock AS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# chkconfig: 2345 80 05
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# description: Starts and stops opendj LDAPv3 service.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### BEGIN INIT INFO
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Provides: opendj
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Required-Start:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Required-Stop:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Default-Start: 2 3 4 5
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Default-Stop: 0 1 6
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Short-Description: This is the opendj daemon
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Description: OpenDJ is an LDAPv3 compliant directory service, developed for the Java
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# platform, providing a high performance, highly available and secure store
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# for the identities managed by enterprises. Its easy installation process,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# combined with the power of the Java platform makes OpenDJ one of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# simplest and fastest directory servers to deploy and manage.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein### END INIT INFO
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fdd80e9a55c70b36a3bf3e409b86897301c44ff8Automatic Updater# Set up source function library depending on the distribution
fdd80e9a55c70b36a3bf3e409b86897301c44ff8Automatic Updaterif [ -f /etc/redhat-release ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinthen
fdd80e9a55c70b36a3bf3e409b86897301c44ff8Automatic Updater # Redhat
fdd80e9a55c70b36a3bf3e409b86897301c44ff8Automatic Updater . /etc/init.d/functions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinelif [ -f /etc/SuSE-release ]
fdd80e9a55c70b36a3bf3e409b86897301c44ff8Automatic Updaterthen
3acf5eb97cebc2ba868e6ac4a4e01e6d1be0c892Automatic Updater # SuSE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein . /etc/rc.status
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinelif [ -f /etc/lsb-release ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinthen
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # Debian
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater . /lib/lsb/init-functions
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewselse
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews # Other dist.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if [ -f /etc/init.d/functions.sh ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein . /etc/init.d/functions.sh
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fi
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinfi
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fdd80e9a55c70b36a3bf3e409b86897301c44ff8Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Sets the script vars
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinINSTALL_ROOT="/opt/opendj/"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinexport INSTALL_ROOT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinDAEMON=opendj
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Original PID file
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinORIGINPIDFILE=/opt/opendj/logs/server.pid
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Pid file is a symlink to /opt/opendj/log/server.pid
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinPIDFILE=/var/run/opendj.pid
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinRETVAL=0
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If the daemon is not there, then exit / LSB return code.
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafssontest -x "$INSTALL_ROOT/bin/start-ds" || exit 5
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater# /var/run is deleted after reboot (eg. debian)
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater# recreates the symlink if needed.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updatertest -h "$PIDFILE" || ln -s $ORIGINPIDFILE $PIDFILE
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#Starts the server and creates pid file.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updaterstart() {
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater echo -n $"Starting $DAEMON: "
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce # Server is running
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce if [ -e $PIDFILE ]
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce echo "> Already running."
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce return 0
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein else
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "$INSTALL_ROOT"/bin/start-ds --quiet
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein RETVAL=$?
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if [ $RETVAL = 0 ]
fdd80e9a55c70b36a3bf3e409b86897301c44ff8Automatic Updater then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo "> SUCCESS."
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein else
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo "> FAILURE."
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fi
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo ""
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein return $RETVAL
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fi
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater}
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater#Stops the server and removes pid file.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updaterstop() {
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater echo -n $"Stopping $DAEMON: "
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater # Server is running
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater if [ -e $PIDFILE ]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce "$INSTALL_ROOT"/bin/stop-ds --quiet
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce RETVAL=$?
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater if [ $RETVAL = 0 ]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce echo "> SUCCESS."
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce else
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce echo "> FAILURE."
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce fi
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce echo ""
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce return $RETVAL
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce else
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce echo "> Already stopped."
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce echo ""
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater return 3
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater fi
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Displays the service status
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucestatus() {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce echo -n $"$DAEMON status: "
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce if [ -e $PIDFILE ]
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce echo "> Running."
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce return 0
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce else
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce echo "> Stopped."
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce return 3
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fi
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincase "$1" in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein start)
fdd80e9a55c70b36a3bf3e409b86897301c44ff8Automatic Updater start
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ;;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein stop)
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews stop
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews ;;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein restart)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein stop
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein sleep 5
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein start
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ;;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein force-reload)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # Not implemented.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ;;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein status)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein status
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ;;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein *)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo $"Usage: /etc/init.d/$DAEMON {start|restart|stop|force-reload|status}"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein exit 1
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ;;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinesac
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinexit $RETVAL
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein