#!/bin/bash if [[ "x${FESS_DICTIONARY_PATH}" != "x" ]] ; then sed -i -e "s|^FESS_DICTIONARY_PATH=.*|FESS_DICTIONARY_PATH=${FESS_DICTIONARY_PATH}|" /etc/default/fess fi if [[ "x${ES_HTTP_URL}" = "x" ]] ; then ES_HTTP_URL=http://localhost:9200 else sed -i -e "s|^ES_HTTP_URL=.*|ES_HTTP_URL=${ES_HTTP_URL}|" /etc/default/fess fi if [[ "x${ES_TYPE}" != "x" ]] ; then FESS_JAVA_OPTS="${FESS_JAVA_OPTS} -Dfess.config.elasticsearch.type=${ES_TYPE}" fi if [[ "x${ES_USERNAME}" != "x" ]] ; then FESS_JAVA_OPTS="${FESS_JAVA_OPTS} -Dfess.config.elasticsearch.username=${ES_USERNAME}" fi if [[ "x${ES_PASSWORD}" != "x" ]] ; then FESS_JAVA_OPTS="${FESS_JAVA_OPTS} -Dfess.config.elasticsearch.password=${ES_PASSWORD}" fi if [[ "x${FESS_JAVA_OPTS}" != "x" ]] ; then echo "FESS_JAVA_OPTS=\"${FESS_JAVA_OPTS}\"" >> /etc/default/fess fi if [[ "x${PING_RETRIES}" = "x" ]] ; then PING_RETRIES=3 fi if [[ "x${PING_INTERVAL}" = "x" ]] ; then PING_INTERVAL=60 fi start_fess() { ln -s /opt/java/openjdk/bin/java /usr/bin/java touch /var/log/fess/fess-crawler.log \ /var/log/fess/fess-suggest.log \ /var/log/fess/fess-thumbnail.log \ /var/log/fess/fess-urls.log \ /var/log/fess/audit.log \ /var/log/fess/fess.log chown fess:fess /var/log/fess/fess-crawler.log \ /var/log/fess/fess-suggest.log \ /var/log/fess/fess-thumbnail.log \ /var/log/fess/fess-urls.log \ /var/log/fess/audit.log \ /var/log/fess/fess.log tail -f /var/log/fess/*.log & /etc/init.d/fess start } wait_app() { if [[ "x${FESS_CONTEXT_PATH}" = "x" ]] ; then ping_path=/json/ping else ping_path=${FESS_CONTEXT_PATH}/json/ping fi while true ; do status=$(curl -w '%{http_code}\n' -s -o /dev/null "http://localhost:8080${ping_path}") if [[ x"${status}" = x200 ]] ; then error_count=0 else error_count=$((error_count + 1)) fi if [[ ${error_count} -ge ${PING_RETRIES} ]] ; then echo "Fess is not available." exit 1 fi sleep ${PING_INTERVAL} done } start_fess if [[ "x${RUN_SHELL}" = "xtrue" ]] ; then /bin/bash else wait_app fi