Skip to content

Commit

Permalink
added mxservicectl and mxstartupctl
Browse files Browse the repository at this point in the history
  • Loading branch information
mariux committed Jan 4, 2012
1 parent 18f6f84 commit 74dc916
Show file tree
Hide file tree
Showing 2 changed files with 155 additions and 0 deletions.
132 changes: 132 additions & 0 deletions mxservicectl
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
#!/bin/bash

CMD_IP="/sbin/ip"
CMD_MXS2MXSRV="/usr/sbin/mxstartup2mxconfig"

RUNDIR="/run/mariux"

# expands *-pattern in pathnames to null if no matching files are found..
shopt -s nullglob

# exit on any error
set -e

function mxsrv_start_one() {
local cfg=$1
local -i i mip mfwd

echo "starting ${cfg} .."

. ${cfg}

su - ${MX_SRV_USER} -c "${MX_SRV_SCRIPT} start" &

mv ${cfg}{,.r}

unset -v MX_SRV_USER MX_SRV_SCRIPT
}

function mxsrv_stop_one() {
local cfg=$1
local -i i mip mfwd

echo "stopping ${cfg} .."

. ${cfg}

su - ${MX_SRV_USER} -c "${MX_SRV_SCRIPT} stop" &

rm ${cfg}

unset -v MX_SRV_USER MX_SRV_SCRIPT
}

function mxsrv_start() {
local cfg
local pattern=$1

: ${pattern:=*}

for cfg in ${RUNDIR}/mxservice.${pattern}.cfg ; do
if [ -e ${cfg}.r ] ; then
echo >&2 "skipping $cfg: already running.."
continue
fi

if [ ! -r ${cfg} ] ; then
echo >&2 "skipping $cfg: can't read file"
continue
fi

if [ ! -O ${cfg} ] ; then
echo >&2 "skipping $cfg: possible hack attempt?"
continue
fi

mxsrv_start_one ${cfg}

done
}

function mxsrv_stop() {
local cfg
local pattern=$1

: ${pattern:=*}

for cfg in ${RUNDIR}/mxservice.${pattern}.cfg.r ; do
if [ ! -r ${cfg} ] ; then
echo >&2 "skipping $cfg: can't read file"
continue
fi

if [ ! -O ${cfg} ] ; then
echo >&2 "skipping $cfg: possible hack attempt?"
continue
fi

mxsrv_stop_one ${cfg}

done
}


function create_run_dir_if_not_exists() {
if [ ! -d $rundir ] ; then
mkdir -m 0700 ${RUNDIR}
fi

if [ ! -O $rundir ] ; then
echo >&2 "${RUNDIR}: wrong owner: possible hack attempt? exiting.."
exit 1
fi
}

function create_mxservice() {
${CMD_MXS2MXSRV} ${RUNDIR} >/dev/null
}


##############################################################################

create_run_dir_if_not_exists

case "${1}" in
start)
create_mxservice
mxsrv_start $2
;;
stop)
mxsrv_stop $2
;;
restart)
mxsrv_stop $2
create_mxservice
mxsrv_start $2
;;
*)
echo >&2 "$0 start|stop"
;;
esac


23 changes: 23 additions & 0 deletions mxstartupctl
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash

case "${1}" in
start)
mxvipctl start $2
mxservicectl start $2
;;
stop)
mxservicectl stop $2
mxvipctl stop $2
;;
restart)
mxservicectl stop $2
mxvipctl stop $2
mxvipctl start $2
mxservicectl start $2
;;
*)
echo >&2 "$0 start|stop|restart <service>"
;;
esac


0 comments on commit 74dc916

Please sign in to comment.