Created
February 8, 2019 17:33
-
-
Save stompro/d0a12c26e8cecd1c287f100dadfa591f to your computer and use it in GitHub Desktop.
cat /etc/init.d/evergreen - Evergreen startup scripts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
### BEGIN INIT INFO | |
# Provides: evergreen | |
# Required-Start: $remote_fs $syslog ejabberd | |
# Should-Start: postgresql memcached apache2 | |
# Required-Stop: $remote_fs $syslog | |
# Should-Stop: apache2 memcached postgresql | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Start Evergreen ILS | |
# Description: Enable services that provide the Evergreen ILS System. | |
### END INIT INFO | |
. /lib/lsb/init-functions | |
test -r /etc/default/evergreen && . /etc/default/evergreen | |
OPENSRF_USER="opensrf" | |
OPENILS_BASE="/openils" | |
OPENILS_CORE="${OPENILS_BASE}/conf/opensrf_core.xml" | |
PATH=${PATH}:${OPENILS_BASE}/bin | |
ENV_PATH=$PATH | |
PERL5LIB=${PERL5LIB}:${OPENILS_BASE}/lib/perl5 | |
OSRF_CONTROL="${OPENILS_BASE}/bin/opensrf-perl.pl" | |
SRU_LOG="${OPENILS_BASE}/var/log/sru.log" | |
SIP_PID="${OPENILS_BASE}/var/run" | |
SIP_CONF="${OPENILS_BASE}/conf/oils_sip.xml" | |
REP_LOCK="${OPENILS_BASE}/var/lock/reporter-LOCK" | |
REP_NAME="Clark Kent, waiting for trouble" | |
sru_name='simple2zoom' | |
if [ $(whoami) != 'opensrf' ]; then | |
PERL5LIB='/openils/lib/perl5:$PERL5LIB'; | |
fi; | |
if [ $OPENSRF_HOST == "localhost" ]; then | |
OPENSRF_HOST="--$OPENSRF_HOST" | |
else | |
OPENSRF_HOST="" | |
fi | |
start() { | |
if [[ $START_OSRF =~ ^[yY] ]]; then | |
echo "Starting Evergreen" | |
su -p -c "PATH=$PATH ${OSRF_CONTROL} $OPENSRF_HOST --start-all" $OPENSRF_USER | |
fi | |
} | |
stop() { | |
if [[ $START_OSRF =~ ^[yY] ]]; then | |
echo "Stopping Evergreen" | |
su -p -c "${OSRF_CONTROL} $OPENSRF_HOST --stop-all" $OPENSRF_USER | |
fi | |
} | |
apache_restart() { | |
if [ -e /etc/init.d/apache2 ]; then | |
echo "Restarting Apache" | |
/etc/init.d/apache2 restart | |
fi | |
if [ -e /etc/init.d/apache2-websockets ]; then | |
echo "Restarting Apache Websockets Instance" | |
/etc/init.d/apache2-websockets restart | |
fi | |
} | |
autogen() { | |
echo "Running Autogen Update" | |
sudo -u opensrf /bin/bash -c \ | |
"PERL5LIB=${PERL5LIB}:${OPENILS_BASE}/lib/perl5 PATH=${PATH}:${OPENILS_BASE}/bin autogen.sh \ | |
-u -c ${OPENILS_CORE}" | |
} | |
sip_start() { | |
if [[ $SIP =~ ^[yY] ]]; then | |
sudo -u opensrf /bin/bash -c \ | |
"PERL5LIB=${PERL5LIB}:${OPENILS_BASE}/lib/perl5 PATH=${PATH}:${OPENILS_BASE}/bin oils_ctl.sh \ | |
-d ${SIP_PID} \ | |
-s ${SIP_CONF} \ | |
-a start_sip" | |
fi | |
} | |
sip_stop() { | |
if [[ $SIP =~ ^[yY] ]]; then | |
sudo -u opensrf /bin/bash -c \ | |
"PERL5LIB=${PERL5LIB}:${OPENILS_BASE}/lib/perl5 PATH=${PATH}:${OPENILS_BASE}/bin oils_ctl.sh \ | |
-d ${SIP_PID} \ | |
-s ${SIP_CONF} \ | |
-a stop_sip" | |
fi | |
} | |
sip_restart() { | |
if [[ $SIP =~ ^[yY] ]]; then | |
sudo -u opensrf /bin/bash -c \ | |
"PERL5LIB=${PERL5LIB}:${OPENILS_BASE}/lib/perl5 PATH=${PATH}:${OPENILS_BASE}/bin oils_ctl.sh \ | |
-d ${SIP_PID} \ | |
-s ${SIP_CONF} \ | |
-a restart_sip" | |
fi | |
} | |
start_rep() { | |
if [[ $REPORTER =~ ^[yY] ]]; then | |
pids="$(pidof "$REP_NAME")" | |
if [ ! x"$pids" = x ] ; then | |
echo FAILURE ; echo $"Starting Reporting: already running as $pids" | |
return 1 | |
fi | |
rm -f $REP_LOCK | |
sudo -u opensrf bash -c \ | |
"PERL5LIB=${PERL5LIB}:${OPENILS_BASE}/lib/perl5 PATH=${PATH}:${OPENILS_BASE}/bin clark-kent.pl \ | |
--lockfile=${REP_LOCK} --boostrap=${OPENILS_CORE} --concurrency=1 --sleep=30 --daemon" ; | |
pids="$(pidof "$REP_NAME")" | |
if [ x"$pids" = x ] ; then | |
echo FAILURE | |
else | |
echo OK | |
fi | |
echo "Starting Reporting: $pids" | |
return $RETVAL | |
fi | |
} | |
stop_rep() { | |
if [[ $REPORTER =~ ^[yY] ]] ; then | |
pids="$(pidof "$REP_NAME")" | |
if [ x"$pids" = x ] ; then | |
echo FAILURE ; echo $"Stopping Reporting: not running" ; RETVAL=1 | |
else | |
kill $pids ; RETVAL=$? | |
if [ $RETVAL ] ; then | |
echo OK ; echo $"Stopping Reporting: $pids" | |
else | |
echo FAILURE | |
fi | |
fi | |
rm -f $REP_LOCK | |
return $RETVAL | |
fi | |
} | |
z39_50_start() { | |
if [[ $Z39_50 =~ ^[yY] ]]; then | |
pids=`ps -eo pid,args | grep $sru_name | grep -v grep | cut -c1-6` | |
if [ ! x"$pids" = x ] ; then | |
echo FAILURE ; echo $"Starting Z39.50/SRU: already running as $pids" | |
return 1 | |
fi | |
sudo -u opensrf bash -c "touch ${SRU_LOG}" | |
sudo bash -c \ | |
"PERL5LIB=${PERL5LIB}:${OPENILS_BASE}/lib/perl5 PATH=${PATH}:${OPENILS_BASE}/bin \ | |
z39_50.sh >> ${SRU_LOG} 2>&1" & | |
sleep 1 | |
pids=`ps -eo pid,args | grep $sru_name | grep -v grep | cut -c1-6` | |
if [ x"$pids" = x ] ; then | |
echo FAILURE | |
else | |
echo OK | |
fi | |
echo "Starting Z39.50/SRU: $pids" | |
return $RETVAL | |
fi | |
} | |
z39_50_stop() { | |
if [[ $Z39_50 =~ ^[yY] ]]; then | |
pids=`ps -eo pid,args | grep $sru_name | grep -v grep | cut -c1-6` | |
if [ x"$pids" = x ] ; then | |
echo FAILURE ; echo $"Stopping Z39.50/SRU: not running" ; RETVAL=1 | |
else | |
kill $pids ; RETVAL=$? | |
if [ $RETVAL ] ; then | |
echo OK ; echo $"Stopping Z39.50/SRU: $pids" | |
else | |
echo FAILURE | |
fi | |
fi | |
return $RETVAL | |
fi | |
} | |
#edi_start() { | |
# if [[ $EDI =~ ^[yY] ]]; then | |
# | |
# | |
# | |
# fi | |
# | |
#} | |
#check to see if a service is up, delay if it is not up | |
# Fail startup if it never comes up. | |
checkservice() { | |
HOST=$1 | |
PORT=$2 | |
DELAY=$3 | |
#while ! timeout 2 bash -c "cat < /dev/null > /dev/tcp/$HOST/$PORT" | |
#do | |
#done | |
#return 0 | |
} | |
case "$1" in | |
start) | |
start | |
start_rep | |
z39_50_start | |
sip_start | |
apache_restart | |
;; | |
stop) | |
sip_stop | |
z39_50_stop | |
stop_rep | |
stop | |
;; | |
restart) | |
echo "Restarting Evergreen, Reporter and Z39.50 Processes" | |
sip_stop | |
z39_50_stop | |
stop_rep | |
stop | |
start | |
apache_restart | |
start_rep | |
z39_50_start | |
sip_start | |
;; | |
autogen) | |
autogen | |
;; | |
sip_start) | |
sip_start | |
;; | |
sip_stop) | |
sip_stop | |
;; | |
sip_restart) | |
sip_restart | |
;; | |
start_reporter) | |
start_rep | |
;; | |
stop_reporter) | |
stop_rep | |
;; | |
restart_reporter) | |
stop_rep | |
start_rep | |
;; | |
z39_50_start) | |
z39_50_start | |
;; | |
z39_50_stop) | |
z39_50_stop | |
;; | |
z39_50_restart) | |
z39_50_stop | |
z39_50_start | |
;; | |
start_router|stop_router|restart_router|start_perl|stop_perl|restart_perl| \ | |
start_c|stop_c|restart_c|start_osrf|stop_osrf|restart_osrf|stop_all|start_all|restart_all) | |
sudo -u opensrf /bin/bash -c \ | |
"PERL5LIB=${PERL5LIB}:${OPENILS_BASE}/lib/perl5 \ | |
PATH=${PATH}:${OPENILS_BASE}/bin osrf_ctl.sh -l -a $1" | |
;; | |
*) | |
echo " * Usage: /etc/init.d/evergreen {start|stop|restart|autogen" | |
echo " |sip_start|sip_stop|sip_restart" | |
echo " |z39_50_start|z39_50_stop|z39_50_restart" | |
echo " |start_reporter|stop_reporter|restart_reporter" | |
echo " |start_router|stop_router|restart_router|start_perl|stop_perl|restart_perl" | |
echo " |start_c|stop_c|restart_c|start_osrf|stop_osrf|restart_osrf | |
|stop_all|start_all|restart_all}" | |
exit 1 | |
;; | |
esac; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment