https://github.com/galaxyproject/galaxy
Raw File
Tip revision: baf4b18556d6273005abbdf7021441f185160665 authored by John Chilton on 15 January 2015, 21:01:23 UTC
Bugfix: Skip extra wrapping around template-style macros.
Tip revision: baf4b18
galaxy.fedora-init
#!/bin/bash
#
# Init file for Galaxy (http://galaxyproject.org/)
#   Suitable for use on Fedora and derivatives (RedHat Enterprise Linux, Scientific Linux, CentOS)
#
# Contributed by Brad Chapman
#
# chkconfig: 2345 98 20
# description: Galaxy http://galaxyproject.org/

#--- config

SERVICE_NAME="galaxy"
RUN_AS="galaxy"
RUN_IN="/path/to/galaxy-dist"

#--- main actions

start() {
	echo "Starting $SERVICE_NAME... "
	cmd="cd $RUN_IN && sh run.sh --daemon"
	case "$(id -un)" in
		$RUN_AS)
			eval "$cmd"
			;;
		root)
			su - $RUN_AS -c "$cmd"
			;;
		*)
			echo "*** ERROR *** must be $RUN_AS or root in order to control this service" >&2
			exit 1
	esac
	echo "...done."
}

stop() {
	echo -n "Stopping $SERVICE_NAME... "
	
	cmd="cd $RUN_IN && sh run.sh --stop-daemon"

	case "$(id -un)" in
		$RUN_AS)
			eval "$cmd"
			;;
		root)
			su - $RUN_AS -c "$cmd"
			;;
		*)
			echo "*** ERROR *** must be $RUN_AS or root in order to control this service" >&2
			exit 1
	esac
	
	echo "done."
}

status() {
	echo -n "$SERVICE_NAME status: "
	
	while read pid; do
		if [ "$(readlink -m /proc/$pid/cwd)" = "$(readlink -m $RUN_IN)" ]; then
			echo "started"
			return 0
		fi
	done < <(ps ax -o 'pid cmd' | grep -P '^\s*\d+ python ./scripts/paster.py serve' | awk '{print $1}')
	echo "stopped"
	return 3
}

notsupported() {
	echo "*** ERROR*** $SERVICE_NAME: operation [$1] not supported"
}

usage() {
	echo "Usage: $SERVICE_NAME start|stop|restart|status"
}


#---

case "$1" in
	start)
		start "$@"
		;;
	stop)
		stop
		;;
	restart|reload)
		stop
		start
		;;
	status)
		set +e
		status
		exit $?
		;;
	'')
		usage >&2
		exit 1
		;;
	*)
		notsupported "$1" >&2
		usage >&2
		exit 1
		;;
esac
back to top