start-ds revision 3590
48c0c81cd6fabac9d3386406d97633780365b839coar#!/bin/sh
a096f8d13bee05fd6ea8b9b50b6c2e818eace7d1striker#
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# CDDL HEADER START
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj#
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# The contents of this file are subject to the terms of the
eb1349e4ab58bd2935f7054a1bfc5c86ab5a5fa3striker# Common Development and Distribution License, Version 1.0 only
a096f8d13bee05fd6ea8b9b50b6c2e818eace7d1striker# (the "License"). You may not use this file except in compliance
dba571e5c5a2586c7e2b382789f3250136ff7577jwoolley# with the License.
dba571e5c5a2586c7e2b382789f3250136ff7577jwoolley#
bf3d1782a29630335a1df535eb395355ab1cd154jwoolley# You can obtain a copy of the license at
07847078a10fe4e9229cc08adda5f421cafc0665jwoolley# trunk/opends/resource/legal-notices/OpenDS.LICENSE
0bd0176ce9f4321eeb506aa372d0bcc84befbf4cstriker# or https://OpenDS.dev.java.net/OpenDS.LICENSE.
d8028365066fca602bf35d014530a1802114378crbb# See the License for the specific language governing permissions
c25203fdca093d4504c51b4cd974ff60d5aa4fb1wrowe# and limitations under the License.
c25203fdca093d4504c51b4cd974ff60d5aa4fb1wrowe#
c25203fdca093d4504c51b4cd974ff60d5aa4fb1wrowe# When distributing Covered Code, include this CDDL HEADER in each
d89c116f82699294ca744125723651c554bc5925wrowe# file and include the License file at
4214e98fc9045e5010e66f9a967bd6d68f40d342aaron# trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
8721697e2aece27b0e738519329f7976c72b27bfjerenkrantz# add the following below this CDDL HEADER, with the fields enclosed
c25203fdca093d4504c51b4cd974ff60d5aa4fb1wrowe# by brackets "[]" replaced with your own identifying information:
91cacb801f6c0215b38322f6d2fc58cbfedfecfbjerenkrantz# Portions Copyright [yyyy] [name of copyright owner]
91cacb801f6c0215b38322f6d2fc58cbfedfecfbjerenkrantz#
df14f0d3a5191cdd7c4bb5b03acd135d43a6f51brbb# CDDL HEADER END
df14f0d3a5191cdd7c4bb5b03acd135d43a6f51brbb#
ab71b233b3a36489e44a7b061c48293be0b17788jwoolley#
571760de5e60c0b459cb11be45507b923cd023eejwoolley# Copyright 2006-2008 Sun Microsystems, Inc.
571760de5e60c0b459cb11be45507b923cd023eejwoolley
9180a5933673ffb1af633c255ceee029340f3b1erbb
bcb6e1be6041dfeb549c8ea8d37f97ad4e90a0c3rbb# Capture the current working directory so that we can change to it later.
9bd71e35f5d26d26d23fe3a677401828e842ed72wrowe# Then capture the location of this script and the Directory Server instance
2900ab946a2d76b73a14cebfe2985d253f01c967stoddard# root so that we can use them to create appropriate paths.
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbbWORKING_DIR=`pwd`
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbbcd "`dirname "${0}"`"
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbbSCRIPT_DIR=`pwd`
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein
35330e0d79ceb8027223bbb8330a381b1f989d6etrawickcd ..
6f6f4a4bca281779d196acbdd5c017bb90858305trawickINSTANCE_ROOT=`pwd`
8dd4618c4709236b4ea297d7250d282e463ce2d8rbbexport INSTANCE_ROOT
09bd86d0db1114ee23eda0a6eb76ca055877a1cftrawick
2deb319e6b3de239f45c16a3e9e836d44f1f7108rbbcd "${WORKING_DIR}"
bd929c73ef04789b7183b840d8db6e01d03a4d86rbb
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanoj# Specify the locations of important files that may be used when the server
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# is starting.
af4c982a7cf4515f124935f99a329744035fc699sliveCONFIG_FILE=${INSTANCE_ROOT}/config/config.ldif
af4c982a7cf4515f124935f99a329744035fc699slivePID_FILE=${INSTANCE_ROOT}/logs/server.pid
af4c982a7cf4515f124935f99a329744035fc699sliveLOG_FILE=${INSTANCE_ROOT}/logs/server.out
af4c982a7cf4515f124935f99a329744035fc699sliveSTARTING_FILE=${INSTANCE_ROOT}/logs/server.starting
af4c982a7cf4515f124935f99a329744035fc699slive
af4c982a7cf4515f124935f99a329744035fc699slive
af4c982a7cf4515f124935f99a329744035fc699slive# Specify the script name so that it may be provided in command-line usage.
10270f6f94b2069d0d357805c140a9897449b9ccianhSCRIPT_NAME="start-ds"
4b62424416882687387923b3130b96241503cbe0jerenkrantzexport SCRIPT_NAME
5ca8e11fadb6f7a8d9d0367c1800205c99d4bcd6jerenkrantz
5ca8e11fadb6f7a8d9d0367c1800205c99d4bcd6jerenkrantz# Set environment variables
45b0e1c775c1cfed6473c9e5304179ccb9609f53stoddardSCRIPT_UTIL_CMD=set-full-environment-and-test-java
dbec4658981e4f9127e8676457c28d42932be7cdtrawickexport SCRIPT_UTIL_CMD
1b7e9aeb9867a1c94e24e8ae491d2dfcd0d225e3jerenkrantz. "${INSTANCE_ROOT}/lib/_script-util.sh"
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantzRETURN_CODE=$?
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantzif test ${RETURN_CODE} -ne 0
f95a0b59eb24c631f15bd83e20c6cf823c432d83trawickthen
f95a0b59eb24c631f15bd83e20c6cf823c432d83trawick exit ${RETURN_CODE}
f95a0b59eb24c631f15bd83e20c6cf823c432d83trawickfi
f95a0b59eb24c631f15bd83e20c6cf823c432d83trawick
ae72c92fd41562d7c0e8627c093fcbbae4ac9ef2coar
f95a0b59eb24c631f15bd83e20c6cf823c432d83trawick# See if the provided set of arguments were sufficient for us to be able to
f95a0b59eb24c631f15bd83e20c6cf823c432d83trawick# start the server or perform the requested operation. An exit code of 99
418f39e60a288f855ec033b566744489c3bbbf39trawick# means that it should be possible to start the server. An exit code of 98
cc22a72861c58dda7f3768613aec864e4c4e0353striker# means that the server is already running and we shouldn't try to start it.
f95a0b59eb24c631f15bd83e20c6cf823c432d83trawick# An exit code of anything else means that we're not trying to start the server
ddafc111b94558ef4e2d7357ceda623315566ce3slive# and we can just exit with that exit code.
ddafc111b94558ef4e2d7357ceda623315566ce3slive${OPENDS_JAVA_BIN} ${SCRIPT_NAME_ARG} org.opends.server.core.DirectoryServer \
ae72c92fd41562d7c0e8627c093fcbbae4ac9ef2coar --configClass org.opends.server.extensions.ConfigFileHandler \
ddafc111b94558ef4e2d7357ceda623315566ce3slive --configFile "${CONFIG_FILE}" --checkStartability "${@}"
93f189f1198f539d3cfa75a15b23dcde60ee35ffrbbEC=${?}
93f189f1198f539d3cfa75a15b23dcde60ee35ffrbbif test ${EC} -eq 99 -o ${EC} -eq 103
cc22a72861c58dda7f3768613aec864e4c4e0353strikerthen
a4d9e6fdcd5d2ddd93a896b42a1d607ed258c316ianh #
a4d9e6fdcd5d2ddd93a896b42a1d607ed258c316ianh # run detach
ae72c92fd41562d7c0e8627c093fcbbae4ac9ef2coar #
93f189f1198f539d3cfa75a15b23dcde60ee35ffrbb touch "${STARTING_FILE}"
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewrowe nohup "${OPENDS_JAVA_BIN}" ${OPENDS_JAVA_ARGS} ${SCRIPT_NAME_ARG} \
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz org.opends.server.core.DirectoryServer \
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz --configClass org.opends.server.extensions.ConfigFileHandler \
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz --configFile "${CONFIG_FILE}" "${@}" > "${LOG_FILE}" 2>&1 &
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewrowe echo $! > "${PID_FILE}"
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz if test ${EC} -eq 99
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz then
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz "${OPENDS_JAVA_BIN}" -Xms8M -Xmx8M org.opends.server.tools.WaitForFileDelete \
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz --targetFile "${STARTING_FILE}" --logFile "${LOG_FILE}"
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz else
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz "${OPENDS_JAVA_BIN}" -Xms8M -Xmx8M org.opends.server.tools.WaitForFileDelete \
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz --targetFile "${STARTING_FILE}"
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz fi
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz EC=${?}
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz if test ${EC} -eq 0
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz then
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz # An exit code of 98 means that the server is already running.
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewrowe ${OPENDS_JAVA_BIN} ${SCRIPT_NAME_ARG} org.opends.server.core.DirectoryServer \
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz --configClass org.opends.server.extensions.ConfigFileHandler \
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz --configFile "${CONFIG_FILE}" --checkStartability > /dev/null 2>&1
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz EC=${?}
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz if test ${EC} -eq 98
cc22a72861c58dda7f3768613aec864e4c4e0353striker then
1af5c0e25a649bb298e25ddfa5418fa18bdcb107aaron exit 0
82455c2e3b6991846fbcbf0c9e41f57dbc681217brianp else
82455c2e3b6991846fbcbf0c9e41f57dbc681217brianp # Could not start the server
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz exit 1
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz fi
b05930e6008f69bd323abe0c10f81f40ffd27983brianp fi
6362fd5c48f6b2193f5d356a9747172101b24e91jerenkrantz exit ${?}
6362fd5c48f6b2193f5d356a9747172101b24e91jerenkrantzelse
6362fd5c48f6b2193f5d356a9747172101b24e91jerenkrantz if test ${EC} -eq 100
6362fd5c48f6b2193f5d356a9747172101b24e91jerenkrantz then
ae72c92fd41562d7c0e8627c093fcbbae4ac9ef2coar #
b6bff62e5e6ae86726ec0b6445227f4852da8728aaron # run no detach
6362fd5c48f6b2193f5d356a9747172101b24e91jerenkrantz #
630f5fc1277582643fe0f831a4830e15127bd047jwoolley echo $$ > "${PID_FILE}"
630f5fc1277582643fe0f831a4830e15127bd047jwoolley rm -f "${LOG_FILE}"
630f5fc1277582643fe0f831a4830e15127bd047jwoolley exec "${OPENDS_JAVA_BIN}" ${OPENDS_JAVA_ARGS} ${SCRIPT_NAME_ARG} \
630f5fc1277582643fe0f831a4830e15127bd047jwoolley org.opends.server.core.DirectoryServer \
56b2562cb4041a21bc313fde3204beabdb758800jwoolley --configClass org.opends.server.extensions.ConfigFileHandler \
56b2562cb4041a21bc313fde3204beabdb758800jwoolley --configFile "${CONFIG_FILE}" "${@}"
56b2562cb4041a21bc313fde3204beabdb758800jwoolley elif test ${EC} -eq 104
56b2562cb4041a21bc313fde3204beabdb758800jwoolley then
56b2562cb4041a21bc313fde3204beabdb758800jwoolley #
56b2562cb4041a21bc313fde3204beabdb758800jwoolley # run no detach quiet
56b2562cb4041a21bc313fde3204beabdb758800jwoolley #
f881b8be216de36c6b964324c772450bca38a4e6trawick echo $$ > "${PID_FILE}"
f881b8be216de36c6b964324c772450bca38a4e6trawick rm -f "${LOG_FILE}"
f881b8be216de36c6b964324c772450bca38a4e6trawick exec "${OPENDS_JAVA_BIN}" ${OPENDS_JAVA_ARGS} ${SCRIPT_NAME_ARG} \
f881b8be216de36c6b964324c772450bca38a4e6trawick org.opends.server.core.DirectoryServer \
f881b8be216de36c6b964324c772450bca38a4e6trawick --configClass org.opends.server.extensions.ConfigFileHandler \
f881b8be216de36c6b964324c772450bca38a4e6trawick --configFile "${CONFIG_FILE}" "${@}" > /dev/null
56b2562cb4041a21bc313fde3204beabdb758800jwoolley else
b05930e6008f69bd323abe0c10f81f40ffd27983brianp #
b05930e6008f69bd323abe0c10f81f40ffd27983brianp # an error or the server is already started. Just return the code provided
b05930e6008f69bd323abe0c10f81f40ffd27983brianp # by checkstartability
b05930e6008f69bd323abe0c10f81f40ffd27983brianp #
b05930e6008f69bd323abe0c10f81f40ffd27983brianp exit ${EC}
15304e476fb32988bf988864ddacc5375b9a6080stoddard fi
15304e476fb32988bf988864ddacc5375b9a6080stoddardfi
8c8fbb8546af54582539898be704411a60058d85trawick