diff options
Diffstat (limited to 'src/bin/anoperc.cmake')
-rw-r--r-- | src/bin/anoperc.cmake | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/src/bin/anoperc.cmake b/src/bin/anoperc.cmake new file mode 100644 index 000000000..02c5bf18e --- /dev/null +++ b/src/bin/anoperc.cmake @@ -0,0 +1,141 @@ +#!/bin/sh +# +# Configuration script for Services +# +# (C) 2003-2008 Anope Team +# Contact us at info@anope.org +# +# Please read COPYING and README for further details. +# +# Based on the original code of Epona by Lara. +# Based on the original code of Services by Andy Church. +# +# $Id$ +# + + + +ANOPEPID="@DATADIR@/services.pid" +ANOPROG="@BINDIR@/services" +LOG="@DATADIR@/logs/" +ARCVERSION="1.2" + +isAnopeRunning () { +if [ ! -f $ANOPEPID ] ; then + echo "Warning: Anope is not currently running" + exit 1 +fi + +PID=`cat $ANOPEPID` + +if [ ! `ps auxw | grep $ANOPROG | grep $PID | grep -v -c grep` ] ; then + echo "Warning: Anope is not currently running" + exit 1 +fi +} + +if [ ! -f $ANOPROG ] ; then + echo "Error: $ANOPROG cannot be accessed" + exit 1 +fi + + +if [ "$UID" = "0" ] ; then + echo "######################################"; + echo "# Warning: Do NOT run Anope as root! #"; + echo "######################################"; + exit 1 +fi + +if [ "$1" = "start" ] ; then + +if [ -f $ANOPEPID ] ; then + PID=`cat $ANOPEPID` + if [ `ps auxw | grep $ANOPROG | grep $PID | grep -v -c grep` = 1 ] ; then + echo "Warning! Anope is already running" + exit 1 + fi +fi + echo "Starting Anope" + shift + $ANOPROG $* + sleep 1 + if [ ! -f $ANOPEPID ] ; then + echo "Unfortunately it seems Anope did not start successfully" + echo "This error has been logged in your Anope Log file" + echo "Located in "$LOG"" + echo "This may help you diagnose the problem" + echo "Further help may be available from http://www.anope.org/" + exit 1 + fi + PID=`cat $ANOPEPID` + if [ ! `ps auxw | grep $ANOPROG | grep $PID | grep -v -c grep` ] ; then + echo "Unfortunately it seems Anope did not start successfully" + echo "This error has been logged in your Anope Log file" + echo "Located in "$LOG"" + echo "This may help you diagnose the problem" + echo "Further help may be available from http://www.anope.org/" + exit 1 + fi + +elif [ "$1" = "stop" ] ; then + isAnopeRunning + echo "Terminating Anope" + kill -15 `cat $ANOPEPID` + +elif [ "$1" = "status" ] ; then + if [ -f $ANOPEPID ] ; then + PID=`cat $ANOPEPID` + if [ `ps auxw | grep $PID | grep -v -c grep` = 1 ] ; then + echo "Anope is currently running" + exit 1 + fi + fi + + echo "Anope is not currently running" + +## :/ SIGUSR2 is ignored after the first restart so we stop / start Anope for now ## +elif [ "$1" = "restart" ] ; then + isAnopeRunning + echo "Restarting Anope" + kill -15 `cat $ANOPEPID` + sleep 1 + shift + $ANOPROG $* + +elif [ "$1" = "rehash" ] ; then + isAnopeRunning + echo "Saving Databases and Rehashing Configuration" + kill -12 `cat $ANOPEPID` + +elif [ "$1" = "version" ] ; then + $ANOPROG -version + +elif [ "$1" = "help" ] ; then + if [ "$2" = "paramlist" ] ; then + $ANOPROG -help + else + echo "AnopeRC is a remote control script for easy" + echo "controlling of Anope from the command console" + echo "$0 start Start Anope" + echo " Additional parameters may be passed" + echo " (e.g. $0 start -nofork)" + echo " For a list type $0 $1 paramlist" + echo "$0 stop Shutdown Anope" + echo "$0 status Show Anope's Status" + echo "$0 restart Restart Anope (Databases will be saved)" + echo " Additional parameters may be passed" + echo " (e.g. $0 restart -logchan)" + echo " For a list type $0 $1 paramlist" + echo "$0 rehash Rehash Configuration and Save Databases" + echo "$0 version Return Anope Version and Build Information" + echo "$0 help Show this help menu" + echo "If you need further help please check the /docs/" + echo "folder or make use of our extensive online support at" + echo "http://www.anope.org/" + fi + +else + echo "Anope Remote Control ($ARCVERSION)" + echo "Usage: $0 [start|stop|status|restart|rehash|version|help]" +fi |