etc/librecat-workers.initd
#!/bin/sh
#
# chkconfig: 345 99 01
# description: Librecat application Audit
#
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
[ "$NETWORKING" = "no" ] && exit 0
SCRIPT="$(basename $0)"
CARTON=/home/vagrant/.plenv/shims/carton
SERVER_USER="vagrant"
SERVER_GROUP="vagrant"
LIBRECAT_DIR="/home/vagrant/LibreCat"
# If a config.yml is in a layers directory, use this line:
# LIBRECAT_LAYERS="/opt/librecat-ugent"
lock_file=/var/lock/subsys/workers.librecat
do_start()
{
if [ ! -f "$lock_file" ] ; then
cd $LIBRECAT_DIR
echo -n $"Starting ${SCRIPT}: "
sudo -u ${SERVER_USER} -g ${SERVER_GROUP} $CARTON exec "LIBRECAT_LAYERS=${LIBRECAT_LAYERS} bin/librecat queue start" > /dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
touch $lock_file
echo_success
else
echo_failure
fi
echo
else
echo "$SCRIPT is locked."
RETVAL=1
fi
}
do_stop()
{
cd $LIBRECAT_DIR
echo -n $"Stopping $SCRIPT: "
sudo -u ${SERVER_USER} -g ${SERVER_GROUP} $CARTON exec "LIBRECAT_LAYERS=${LIBRECAT_LAYERS} bin/librecat queue stop" > /dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
touch $lock_file
rm -f $lock_file
echo_success
else
echo_failure
fi
echo
}
do_status()
{
cd $LIBRECAT_DIR
sudo -u ${SERVER_USER} -g ${SERVER_GROUP} $CARTON exec "LIBRECAT_LAYERS=${LIBRECAT_LAYERS} bin/librecat queue status"
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
do_start
;;
status)
do_status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
RETVAL=1
esac
exit $RETVAL