MozDef/initscripts/mozdefweb

92 строки
2.5 KiB
Bash
Executable File

#! /bin/bash
### BEGIN INIT INFO
# Provides: mozdefweb
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts mozdef meteor web interface.
# Description: mozdef web interface provided by meteor
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
APP_NAME=mozdefweb
# Pull in sysconfig settings
[ -f /etc/sysconfig/${APP_NAME} ] && . /etc/sysconfig/${APP_NAME}
PID_FILE=${PIDFILE:-/var/run/${APP_NAME}.pid}
LOCK_FILE=${LOCKFILE:-/var/lock/subsys/${APP_NAME}}
#METEOR_WAREHOUSE_DIR="/home/jbryner/.meteor"
#we start a script that eventually runs node aka:
#/home/jbryner/envs/meteor/bin/node /home/jbryner/envs/meteor/mozdef/.meteor/local/build/main.js
APP_USER='jbryner'
APP_DIR="/home/jbryner/envs/meteor/mozdef/"
DAEMON_RUN="/home/jbryner/envs/meteor/bin/node"
DAEMON_TARGET="/home/jbryner/envs/meteor/mozdef/.meteor/local/build/main.js"
LOG_FILE="/home/jbryner/envs/meteor/meteor.log"
export HOME="/home/jbryner"
export MONGO_URL=mongodb://localhost:3002/meteor
export ROOT_URL=http://mozdefqa1.private.scl3.mozilla.com/
export PORT=3000
start() {
echo -n $"Starting ${APP_NAME}: "
echo $"Starting process and waiting for PID"
cd ${APP_DIR}
#nohup runuser -l ${APP_USER} -m -c '${DAEMON_RUN} ${DAEMON_TARGET} >${LOG_FILE} 2>&1 &'
#echo $"runuser -l ${APP_USER} -c '${DAEMON_RUN} ${DAEMON_TARGET} >${LOG_FILE} 2>&1 '"
nohup ${DAEMON_RUN} ${DAEMON_TARGET} >${LOG_FILE} 2>&1 &
RETVAL=$?
sleep 5
PID=`pgrep -f ${DAEMON_RUN} | head -n1` || PID=0
[ $PID -gt 0 ] && echo $"PID: $PID started"
[ $PID -gt 0 ] && echo $PID > ${PID_FILE}
[ $RETVAL -eq 0 ] && touch $LOCK_FILE
[ -x /sbin/restorecon ] && /sbin/restorecon $LOCK_FILE
echo $"$APP_NAME started"
return $RETVAL
}
stop() {
echo -n $"Stopping ${APP_NAME}: "
#killproc -p ${PID_FILE} -d 10 $DAEMON
#many processes started that must be individually killed.
pgrep -f ${DAEMON_RUN}| while read i;do kill $i;done
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${LOCK_FILE} ${PID_FILE} ; echo "Stopped"
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p ${PID_FILE} ${APP_NAME}
RETVAL=$?
;;
restart|force-reload)
stop
start
;;
*)
N=/etc/init.d/${APP_NAME}
echo "Usage: $N {start|stop|status|restart|force-reload}" >&2
RETVAL=2
;;
esac
exit $RETVAL