Skip to content

Instantly share code, notes, and snippets.

@thekuffs
Created September 13, 2012 22:39
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save thekuffs/3718244 to your computer and use it in GitHub Desktop.
Save thekuffs/3718244 to your computer and use it in GitHub Desktop.
Salt minion init script
#!/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