#!/bin/sh # # Configuration script for Services # # (C) 2003-2012 Anope Team # Contact us at team@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. # # ANOPEPID="@DATDEST@/services.pid" ANOPROG="@BINDEST@/services" LOG="@DATDEST@/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