summaryrefslogtreecommitdiff
path: root/src/bin/anoperc.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/anoperc.cmake')
-rw-r--r--src/bin/anoperc.cmake141
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