Skip to content

Instantly share code, notes, and snippets.

@mykelalvis
Created November 25, 2015 01:36
Show Gist options
  • Save mykelalvis/98a13a92daba43e4c412 to your computer and use it in GitHub Desktop.
Save mykelalvis/98a13a92daba43e4c412 to your computer and use it in GitHub Desktop.
#!/bin/bash
# hubot
# chkconfig: 345 20 80
# description: hubot
# processname: hubot
# REFERENCE: http://werxltd.com/wp/2012/01/05/simple-init-d-script-template/
HUBOT_INSTALL=${HUBOT_INSTALL:-/opt/hubot}
source ${HUBOT_INSTALL}/hubot.env
HUBOT_ADAPTER=${HUBOT_ADAPTER:-slack}
HUBOT_USER=${HUBOT_USER:-cobot}
HUBOT_NAME=${HUBOT_NAME:-cobot.sh}
HUBOT_DESC=${HUBOT_DESC:-"Cobot, yo!"}
DAEMON="${HUBOT_INSTALL}/bin/${HUBOT_NAME}"
DAEMONOPTS="--name ${HUBOT_NAME} --adapter ${HUBOT_ADAPTER}"
PIDFILE=/var/run/${HUBOT_NAME}.pid
SCRIPTNAME=/etc/init.d/${HUBOT_NAME}
case "$1" in
start)
printf "%-50s" "Starting ${HUBOT_DESC}..."
PID=`runuser -c "$DAEMON $DAEMONOPTS" - ${HUBOT_USER} >> /var/log/hubot 2>&1 & echo $!`
#echo "Saving PID" $PID " to " $PIDFILE
if [ -z $PID ]; then
printf "%s\n" "Fail"
else
echo $PID > $PIDFILE
printf "%s\n" "Ok"
fi
;;
status)
printf "%-50s" "Checking ${HUBOT_DESC}..."
if [ -f $PIDFILE ]; then
PID=`cat $PIDFILE`
if [ -z "`ps axf | grep ${PID} | grep -v grep`" ]; then
printf "%s\n" "Process dead but pidfile exists"
else
echo "Running"
fi
else
printf "%s\n" "Service not running"
fi
;;
stop)
printf "%-50s" "Stopping ${HUBOT_DESC}"
PID=`cat $PIDFILE`
if [ -f $PIDFILE ]; then
kill $PID
printf "%s\n" "Ok"
rm -f $PIDFILE
else
printf "%s\n" "pidfile ${PIDFILE} not found"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {status|start|stop|restart}"
exit 1
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment