Mini Shell
Direktori : /bin/ |
|
Current File : //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