Created
September 13, 2012 22:39
-
-
Save thekuffs/3718244 to your computer and use it in GitHub Desktop.
Salt minion init script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# Salt minion | |
################################### | |
# LSB header | |
### BEGIN INIT INFO | |
# Provides: salt-minion | |
# Required-Start: network | |
# Short-Description: salt minion control daemon | |
# Description: This is a daemon that controls the salt minions | |
### END INIT INFO | |
# chkconfig header | |
# chkconfig: 345 99 99 | |
# description: This is a daemon that controls the salt mininons | |
# | |
# processname: /usr/bin/salt-minion | |
SERVICE=salt-minion | |
PROCESS="/usr/bin/$SERVICE" | |
PYTHON="/usr/bin/python" | |
CONFIG_ARGS="-c /etc/salt/minion" | |
# Sanity checks. | |
[ -x $PROCESS ] || exit 0 | |
DEBIAN_VERSION=/etc/debian_version | |
SUSE_RELEASE=/etc/SuSE-release | |
# Source function library. | |
if [ -f $DEBIAN_VERSION ]; then | |
break | |
elif [ -f $SUSE_RELEASE -a -r /etc/rc.status ]; then | |
. /etc/rc.status | |
else | |
. /etc/rc.d/init.d/functions | |
fi | |
RETVAL=0 | |
start() { | |
echo -n "Starting salt-minion daemon: " | |
if [ -f $SUSE_RELEASE ]; then | |
startproc -f -p /var/run/$SERVICE.pid $PROCESS -d -l quiet $CONFIG_ARGS | |
rc_status -v | |
elif [ -e $DEBIAN_VERSION ]; then | |
if ps aux | grep "$PYTHON[ ]$PROCESS" 2>&1 > /dev/null; then | |
echo -n "already started, lock file found" | |
RETVAL=1 | |
elif $PYTHON $PROCESS -d -l quiet $CONFIG_ARGS; then | |
echo -n "OK" | |
RETVAL=0 | |
fi | |
else | |
daemon --check $SERVICE $PROCESS -d -l quiet $CONFIG_ARGS | |
fi | |
RETVAL=$? | |
echo | |
return $RETVAL | |
} | |
stop() { | |
echo -n "Stopping salt-minion daemon: " | |
if [ -f $SUSE_RELEASE ]; then | |
killproc -TERM $PROCESS | |
rc_status -v | |
elif [ -f $DEBIAN_VERSION ]; then | |
# Added this since Debian's start-stop-daemon doesn't support spawned processes | |
if ps aux | grep "$PYTHON[ ]$PROCESS" 2>&1 > /dev/null; then | |
ps aux | grep "$PYTHON[ ]$PROCESS" | awk '{ print $2 }' | xargs kill | |
echo -n "OK" | |
RETVAL=0 | |
else | |
echo -n "Daemon is not started" | |
RETVAL=1 | |
fi | |
else | |
killproc $PROCESS | |
fi | |
RETVAL=$? | |
echo | |
} | |
restart() { | |
stop | |
sleep 1 | |
start | |
} | |
# See how we were called. | |
case "$1" in | |
start|stop|restart) | |
$1 | |
;; | |
status) | |
if [ -f $SUSE_RELEASE ]; then | |
echo -n "Checking for service salt-minion " | |
checkproc $PROCESS | |
rc_status -v | |
elif [ -f $DEBIAN_VERSION ]; then | |
if ps aux | grep "$PYTHON[ ]$PROCESS" 2>&1 > /dev/null; then | |
RETVAL=0 | |
echo "salt-minion is running." | |
else | |
RETVAL=1 | |
echo "salt-minion is stopped." | |
fi | |
else | |
status $PROCESS | |
RETVAL=$? | |
fi | |
;; | |
condrestart) | |
[ -f $LOCKFILE ] && restart || : | |
;; | |
reload) | |
echo "can't reload configuration, you have to restart it" | |
RETVAL=$? | |
;; | |
*) | |
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}" | |
exit 1 | |
;; | |
esac | |
exit $RETVAL |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment