mirror of
https://github.com/valitydev/salt.git
synced 2024-11-09 01:36:48 +00:00
139 lines
3.2 KiB
Bash
139 lines
3.2 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Salt minion
|
|
###################################
|
|
|
|
# LSB header
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: salt-minion
|
|
# Required-Start: $remote_fs $network
|
|
# Required-Stop: $remote_fs $network
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: salt minion control daemon
|
|
# Description: This is a daemon that controls the salt minions
|
|
### END INIT INFO
|
|
|
|
# chkconfig header
|
|
|
|
# chkconfig: 2345 99 01
|
|
# description: This is a daemon that controls the salt mininons
|
|
#
|
|
# processname: /usr/bin/salt-minion
|
|
|
|
# Sanity checks.
|
|
[ -x /usr/bin/salt-minion ] || 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
|
|
|
|
SERVICE=salt-minion
|
|
PROCESS=salt-minion
|
|
CONFIG_ARGS=" "
|
|
|
|
PS_CMD="ps -e -o pid,args"
|
|
PROC_LIST=""
|
|
|
|
RETVAL=0
|
|
|
|
findproc() {
|
|
PROC_LIST=`$PS_CMD | grep 'bin/python.*salt-minion' | grep -v grep | grep -v sh | grep -v vi | awk '{ print $1 }'`
|
|
}
|
|
|
|
start() {
|
|
echo -n "Starting salt-minion daemon: "
|
|
if [ -f $SUSE_RELEASE ]; then
|
|
startproc -f -p /var/run/$SERVICE.pid /usr/bin/salt-minion -d $CONFIG_ARGS
|
|
rc_status -v
|
|
elif [ -e $DEBIAN_VERSION ]; then
|
|
findproc
|
|
if [ -n "$PROC_LIST" ]; then
|
|
echo -n "already started, lock file found"
|
|
RETVAL=1
|
|
elif /usr/bin/python /usr/bin/salt-minion -d; then
|
|
echo -n "OK"
|
|
RETVAL=0
|
|
fi
|
|
else
|
|
daemon --check $SERVICE $PROCESS -d $CONFIG_ARGS
|
|
fi
|
|
RETVAL=$?
|
|
echo
|
|
return $RETVAL
|
|
}
|
|
|
|
stop() {
|
|
echo -n "Stopping salt-minion daemon: "
|
|
if [ -f $SUSE_RELEASE ]; then
|
|
killproc -TERM /usr/bin/salt-minion
|
|
rc_status -v
|
|
elif [ -f $DEBIAN_VERSION ]; then
|
|
# Added this since Debian's start-stop-daemon doesn't support spawned processes
|
|
findproc
|
|
if echo $PROC_LIST | xargs kill >/dev/null 2>&1 ; then
|
|
echo -n "OK"
|
|
RETVAL=0
|
|
else
|
|
echo -n "Daemon is not started"
|
|
RETVAL=1
|
|
fi
|
|
else
|
|
killproc $PROCESS
|
|
fi
|
|
RETVAL=$?
|
|
echo
|
|
}
|
|
|
|
restart() {
|
|
stop
|
|
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 /usr/bin/salt-minion
|
|
rc_status -v
|
|
elif [ -f $DEBIAN_VERSION ]; then
|
|
findproc
|
|
if [ -n "$PROC_LIST" ]; then
|
|
RETVAL=0
|
|
echo "salt-minion is running."
|
|
else
|
|
RETVAL=1
|
|
echo "salt-minion is stopped."
|
|
fi
|
|
else
|
|
status $PROCESS
|
|
RETVAL=$?
|
|
fi
|
|
;;
|
|
condrestart)
|
|
findproc
|
|
[ -n "$PROC_LIST" ] && restart || :
|
|
;;
|
|
reload|force-reload)
|
|
echo "Can't reload configuration, you have to restart it"
|
|
RETVAL=$?
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
exit $RETVAL
|