Skip to content

Instantly share code, notes, and snippets.

@Dispader
Created January 24, 2014 23:41
Show Gist options
  • Select an option

  • Save Dispader/8609161 to your computer and use it in GitHub Desktop.

Select an option

Save Dispader/8609161 to your computer and use it in GitHub Desktop.
new webapps-ent start script
#!/bin/bash
# Source function library.
. /etc/rc.d/init.d/functions
silo=`basename $0`
apphome="/swadm"
RETVAL=0
start_tomcat() {
echo -n $"Starting ${silo}/tomcat: "
if [ "`pgrep -f ${silo}/tomcat`" != '' ]; then
echo "Tomcat is already running"
echo_failure
echo
else
[ -d ${apphome}/${silo}/tomcat/work/Catalina ] && rm -rf ${apphome}/${silo}/tomcat/work/Catalina/localhost/*
TOMCAT_OUTPUT=`${apphome}/${silo}/tomcat/bin/catalina.sh start 2>&1 >/dev/null`
TOMCAT_RETVAL=$?
[ "$TOMCAT_OUTPUT" != '' ] && echo $TOMCAT_OUTPUT | sed -e 's/ at /\n&/g'
[[ "$TOMCAT_OUTPUT" == '' && $TOMCAT_RETVAL==0 ]] && echo_success || echo_failure
echo
fi
}
start_live_httpd() {
ln -sf /swadm/etc/httpd/vhosts.d/$silo.live /swadm/etc/httpd/vhosts.d/$silo.conf
sudo /sbin/service httpd restart
HTTPD_RETVAL=$?
sudo /bin/chown -R -h swadm /swadm/*
[[ $TOMCAT_RETVAL==0 && $HTTPD_RETVAL==0 ]] && RETVAL=0|| RETVAL=1
return $RETVAL
}
start_downtime_httpd() {
ln -sf /swadm/etc/httpd/vhosts.d/$silo.downtime /swadm/etc/httpd/vhosts.d/$silo.conf
sudo /sbin/service httpd restart
HTTPD_RETVAL=$?
sudo /bin/chown -R -h swadm /swadm/*
[[ $TOMCAT_RETVAL==0 && $HTTPD_RETVAL==0 ]] && RETVAL=0|| RETVAL=1
return $RETVAL
}
stop_tomcat() {
[ -n "$1" ]&& this="-$1"
echo -n $"Stopping ${silo}/tomcat: "
if [ "`pgrep -f ${silo}/tomcat`" == '' ]; then
echo "Tomcat is not running"
echo_failure
echo
else
TOMCAT_OUTPUT=`${apphome}/${silo}/tomcat/bin/catalina.sh stop 2>&1 >/dev/null`
TOMCAT_RETVAL=$?
[ "$TOMCAT_OUTPUT" != '' ] && echo $TOMCAT_OUTPUT | sed -e 's/ at /\n&/g'
[[ "$TOMCAT_OUTPUT" == '' && $TOMCAT_RETVAL==0 ]] && echo_success || echo_failure
echo
fi
}
stop_httpd() {
sudo /sbin/service httpd stop
HTTPD_RETVAL=$?
[[ $TOMCAT_RETVAL==0 && $HTTPD_RETVAL==0 ]] && RETVAL=0|| RETVAL=1
return $RETVAL
}
kill_java () {
echo /usr/bin/pkill -9 -f "catalina.home=${apphome}/${silo}/tomcat"
/usr/bin/pkill -9 -f "catalina.home=${apphome}/${silo}/tomcat"
echo "ps -ef |grep java"
ps -ef |grep java
}
case "$1" in
start)
date
start_tomcat
start_live_httpd
;;
stop)
date
stop_tomcat
stop_httpd
sleep 10
kill_java
;;
restart)
date
stop_tomcat
stop_httpd
sleep 10
kill_java
sleep 10
start_tomcat
start_live_httpd
;;
downtime)
date
start_tomcat
start_downtime_httpd
;;
start-httpd)
start_live_httpd
;;
stop-httpd)
stop_httpd
;;
restart-httpd)
stop_httpd
start_live_httpd
;;
downtime-httpd)
start_downtime_httpd
;;
start-tomcat)
start_tomcat
;;
stop-tomcat)
stop_tomcat
sleep 10
kill_java
;;
restart-tomcat)
stop_tomcat
sleep 20
start_tomcat
;;
*)
echo $"Usage: $silo {start|stop|downtime|restart|start-httpd|stop-httpd|restart-httpd|downtime-httpd|start-tomcat|stop-tomcat|restart-tomcat}"
exit 1
esac
exit $RETVAL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment