58 lines
1.6 KiB
Bash
Executable File
58 lines
1.6 KiB
Bash
Executable File
#! /bin/sh
|
|
# prevent initscript to use systemctl
|
|
export SYSTEMCTL_SKIP_REDIRECT=1
|
|
. /etc/rc.d/init.d/functions
|
|
|
|
# what is our current runlevel
|
|
runlevel=$(systemctl get-default)
|
|
SERVICE=$1
|
|
USAGE="Usage: service SERVICENAME [ACTION]"
|
|
|
|
#if no servicename is provided return usage
|
|
if [[ "${SERVICE}" == "" ]]
|
|
then
|
|
echo ${USAGE} >&2
|
|
exit
|
|
fi
|
|
|
|
if [ "$runlevel" = "multi-user.target" ] || [ "$runlevel" = "sme-server.target" ]
|
|
then
|
|
if ls /etc/rc7.d/S??$1 >/dev/null 2>/dev/null
|
|
then
|
|
script=$(ls /etc/rc7.d/S??$1 | head -1)
|
|
exec $script $2
|
|
|
|
elif ls /usr/lib/systemd/system/${SERVICE}.service >/dev/null 2>/dev/null || ls /etc/systemd/system/${SERVICE}.service >/dev/null 2>/dev/null
|
|
then
|
|
if [[ "$2" == "" ]] ; then
|
|
echo "'$1' requires an action" 1>&2
|
|
echo ${USAGE} >&2
|
|
exit
|
|
elif [[ $2 == "status" ]] ; then
|
|
exec /bin/systemctl status -n0 ${SERVICE}
|
|
exit
|
|
elif [[ $2 == "start" ]] ; then
|
|
echo -n "Starting ${SERVICE}" 2>/dev/null
|
|
elif [[ $2 == "stop" ]] ; then
|
|
echo -n "Stopping ${SERVICE}" 2>/dev/null
|
|
elif [[ $2 == "restart" ]] ; then
|
|
echo -n "Restarting ${SERVICE}" 2>/dev/null
|
|
else
|
|
echo -n "Sending $2 signal to ${SERVICE}" 2>/dev/null
|
|
fi
|
|
/bin/systemctl $2 ${SERVICE}.service> /dev/null
|
|
if [ $? -ne 0 ]; then
|
|
echo_failure
|
|
else
|
|
echo_success
|
|
fi
|
|
echo
|
|
exit
|
|
fi
|
|
|
|
echo "'$1' is not a valid service name" 1>&2
|
|
exit 1
|
|
else
|
|
exec /sbin/service "$@"
|
|
fi
|