| | |
| | | # Portions Copyright 2006 Sun Microsystems, Inc. |
| | | |
| | | |
| | | # Capture the current working directory so that we can change to it later. |
| | | # Then apture the location of this script and the Directory Server instance |
| | | # root so that we can use them to create appropriate paths. |
| | | WORKING_DIR=`pwd` |
| | | |
| | | cd `dirname $0` |
| | | SCRIPT_DIR=`pwd` |
| | | |
| | | cd .. |
| | | INSTANCE_ROOT=`pwd` |
| | | export INSTANCE_ROOT |
| | | |
| | | cd ${WORKING_DIR} |
| | | |
| | | |
| | | # See if JAVA_HOME is set. If not, then see if there is a java executable in |
| | | # the path and try to figure it out. |
| | | if test -z "${JAVA_BIN}" |
| | |
| | | if test -z "${JAVA_HOME}" |
| | | then |
| | | JAVA_BIN=`which java 2> /dev/null` |
| | | if test $? -eq 0 |
| | | if test ${?} -eq 0 |
| | | then |
| | | export JAVA_BIN |
| | | else |
| | |
| | | fi |
| | | fi |
| | | |
| | | |
| | | # Explicitly set the PATH, LD_LIBRARY_PATH, LD_PRELOAD, and other important |
| | | # system environment variables for security and compatibility reasons. |
| | | PATH=/bin:/usr/bin |
| | | LD_LIBRARY_PATH= |
| | | LD_LIBRARY_PATH_32= |
| | | LD_LIBRARY_PATH_64= |
| | | LD_PRELOAD= |
| | | LD_PRELOAD_32= |
| | | LD_PRELOAD_64= |
| | | export PATH LD_LIBRARY_PATH LD_LIBRARY_PATH_32 LD_LIBRARY_PATH_64 \ |
| | | LD_PRELOAD LD_PRELOAD_32 LD_PRELOAD_34 |
| | | |
| | | |
| | | # Capture the current working directory so that we can change to it later. |
| | | # Then capture the location of this script and the Directory Server instance |
| | | # root so that we can use them to create appropriate paths. |
| | | WORKING_DIR=`pwd` |
| | | |
| | | cd `dirname "${0}"` |
| | | SCRIPT_DIR=`pwd` |
| | | |
| | | cd .. |
| | | INSTANCE_ROOT=`pwd` |
| | | export INSTANCE_ROOT |
| | | |
| | | cd "${WORKING_DIR}" |
| | | |
| | | |
| | | # Configure the appropriate CLASSPATH. |
| | | CLASSPATH=${INSTANCE_ROOT}/classes |
| | | for JAR in ${INSTANCE_ROOT}/lib/*.jar |
| | | do |
| | | CLASSPATH=${CLASSPATH}:${JAR} |
| | | CLASSPATH=${CLASSPATH}:${JAR} |
| | | done |
| | | export CLASSPATH |
| | | |
| | | |
| | | # Specify the locations of important files that may be used when the server |
| | | # is starting. |
| | | CONFIG_FILE=${INSTANCE_ROOT}/config/config.ldif |
| | | PID_FILE=${INSTANCE_ROOT}/logs/server.pid |
| | | LOG_FILE=${INSTANCE_ROOT}/logs/server.out |
| | | STARTING_FILE=${INSTANCE_ROOT}/logs/server.starting |
| | | |
| | | |
| | | # See if "-nodetach" was specified as the first command-line argument. If it |
| | | # was, then don't use nohup to send to the background, and send all output to |
| | | # both the console and a log file. |
| | | if test "${1}" = "-nodetach" |
| | | then |
| | | shift |
| | | ${JAVA_BIN} ${JAVA_ARGS} \ |
| | | org.opends.server.core.DirectoryServer \ |
| | | --configClass org.opends.server.extensions.ConfigFileHandler \ |
| | | --configFile ${INSTANCE_ROOT}/config/config.ldif \ |
| | | "$@" 2>&1 | tee -i -a ${INSTANCE_ROOT}/logs/server.out |
| | | echo $$ > "${PID_FILE}" |
| | | rm -f "${PID_FILE}" "${LOG_FILE}" |
| | | exec "${JAVA_BIN}" ${JAVA_ARGS} \ |
| | | org.opends.server.core.DirectoryServer \ |
| | | --configClass org.opends.server.extensions.ConfigFileHandler \ |
| | | --configFile "${CONFIG_FILE}" --noDetach "${@}" |
| | | else |
| | | nohup ${JAVA_BIN} ${JAVA_ARGS} \ |
| | | org.opends.server.core.DirectoryServer \ |
| | | --configClass org.opends.server.extensions.ConfigFileHandler \ |
| | | --configFile ${INSTANCE_ROOT}/config/config.ldif \ |
| | | "$@" >> ${INSTANCE_ROOT}/logs/server.out 2>&1 & |
| | | touch "${STARTING_FILE}" |
| | | nohup "${JAVA_BIN}" ${JAVA_ARGS} \ |
| | | org.opends.server.core.DirectoryServer \ |
| | | --configClass org.opends.server.extensions.ConfigFileHandler \ |
| | | --configFile "${CONFIG_FILE}" "${@}" > "${LOG_FILE}" 2>&1 & |
| | | echo $! > "${PID_FILE}" |
| | | "${JAVA_BIN}" -Xms8M -Xmx8M org.opends.server.tools.WaitForFileDelete \ |
| | | --targetFile "${STARTING_FILE}" --logFile "${LOG_FILE}" |
| | | exit ${?} |
| | | fi |