Mini Shell

Direktori : /usr/bin/
Upload File :
Current File : //usr/bin/garb-systemd

#!/usr/bin/bash -ue
#

if [[ -f /etc/debian_version ]]; then
  config=/etc/default/garb
else
  config=/etc/sysconfig/garb
fi

log_failure() {
  echo " ERROR! $@"
}

program_start() {
  echo "Starting garbd"
  /usr/bin/garbd "$@"
}

start() {

  if grep -q -E '^# REMOVE' $config; then
    log_failure "Garbd config $config is not configured yet"
    return 0
  fi

  [ -f $config ] && . $config

  # Check that node addresses are configured
  if [[ -z "${GALERA_NODES:-}" ]]; then
    log_failure "List of GALERA_NODES is not configured"
    return 6
  fi
  if [[ -z "${GALERA_GROUP:-}" ]]; then
    log_failure "GALERA_GROUP name is not configured"
    return 6
  fi

  GALERA_PORT=${GALERA_PORT:-4567}

  OPTIONS="-a gcomm://${GALERA_NODES// /,}"
  # substitute space with comma for backward compatibility

  [ -n "${GALERA_GROUP:-}" ] && OPTIONS="$OPTIONS -g '$GALERA_GROUP'"
  [ -n "${GALERA_OPTIONS:-}" ] && OPTIONS="$OPTIONS -o '$GALERA_OPTIONS'"
  [ -n "${LOG_FILE:-}" ] && OPTIONS="$OPTIONS -l '$LOG_FILE'"
  [ -n "${WORK_DIR:-}" ] && OPTIONS="$OPTIONS -w '$WORK_DIR'"

  eval program_start $OPTIONS
}

# See how we were called.
case "$1" in
start)
  start
  ;;
*)
  echo $"Usage: $0 {start}"
  exit 2
  ;;
esac

exit $?

Zerion Mini Shell 1.0