Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
gcpc / etc / init.d / gcpc
Size: Mime:
#!/bin/bash

DIR="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$(dirname "$DIR")"
PID_PATH_NAME=/tmp/gcpcn.pid
LOGBACK_PATH_NAME=/tmp/gcpc-logback.xml
##################################
GCP_DIRECTORY=/var/lib/gcpc
GCP_CONFIG=/etc/default/gcpc
GCP_USER=gcpc
##################################
VERSION="0.0.4"
DEBUG=false

echo "Setting environment variables"
. "$GCP_CONFIG"

if [ -z $JAVA_HOME ]; then
  if [ -n `which java` ]; then
    JAVA_CMD=java
  else
    echo "Unable to locate Java installation! JAVA_HOME env variable is empty"
    echo $USAGE_MSG
    exit 1
  fi
else
  JAVA_CMD=$JAVA_HOME/bin/java
fi

if [ ! -d $DATA_DIR ]; then
  su $GCP_USER -c "mkdir -p $DATA_DIR"
fi

# Copying logback to temp directory and set path inside it
su $GCP_USER -c "cp $GCP_DIRECTORY/bin/logback.xml $LOGBACK_PATH_NAME"
GCP_APP_LOG_DIR_ESC=$(echo $GCP_APP_LOG_DIR | sed 's_/_\\/_g')
su $GCP_USER -c "sed \"s/__LOG_PATH__/$GCP_APP_LOG_DIR_ESC/g\" $GCP_DIRECTORY/bin/logback.xml > $LOGBACK_PATH_NAME"

function start_service() {
  echo "Starting gcpc service ..."
  PARAMS="-logs_dirs $LOGS_DIRS -gcp_host $GCP_HOST -data_dir $DATA_DIR -analyze_group $ANALYZE_GROUP_ID -jvm_ids $JVM_IDS -token $ACCOUNT_TOKEN -extension $EXTENSION -reaload_config_ms $RELOAD_CONFIG_MS -sync_files_ms $SYNC_FILES_MS -ttl $TTL -version $VERSION"

  if $USE_HTTPS ; then
    PARAMS="$PARAMS -https"
  fi

  if $DEBUG ; then
    echo $PARAMS
    echo "$JAVA_CMD $JAVA_PROC_ARGS -Dlogback.configurationFile=$LOGBACK_PATH_NAME -jar $GCP_DIRECTORY/lib/bs.jar $PARAMS"
  fi

  if [ ! -f $PID_PATH_NAME ]; then
    su $GCP_USER -c "nohup $JAVA_CMD $JAVA_PROC_ARGS -Dlogback.configurationFile=$LOGBACK_PATH_NAME -jar $GCP_DIRECTORY/lib/bs.jar $PARAMS >> /dev/null & echo \$! > $PID_PATH_NAME"
    sleep 5
    echo "gcpc service started."
  else
    echo "gcpc is already running."
  fi
}

function stop_service() {
  su $GCP_USER -c "if [ -f $PID_PATH_NAME ]; then echo \"$SERVICE_NAME killing ...\"; kill `cat $PID_PATH_NAME`; echo \"$SERVICE_NAME stopped ...\"; rm -rf $PID_PATH_NAME; else echo \"$SERVICE_NAME is not running ...\"; fi"
}

case $1 in
    start)
        start_service
    ;;
    stop)
        stop_service
    ;;
    restart)
        stop_service
        start_service
    ;;
    version)
        echo "Version $VERSION"
    ;;
    status)
        if [ -f $PID_PATH_NAME ]; then
          PID=$(su $GCP_USER -c "cat $PID_PATH_NAME");
          echo "Started $PID."
        else
          echo "Not started."
        fi
    ;;
esac