anope/src/tools/anoperc.in

138 lines
3.3 KiB
Bash

#!/bin/sh
#
# Configuration script for Services
#
# (C) 2003-2022 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="@INSTDIR@/data/services.pid"
ANOPROG="@INSTDIR@/bin/services"
LOG="@INSTDIR@/logs/"
ARCVERSION="2"
isAnopeRunning () {
if [ ! -f $ANOPEPID ] ; then
echo "Warning: Anope is not currently running"
exit 1
fi
PID=`cat $ANOPEPID`
kill -0 $PID 2>/dev/null
if [ $? -ne 0 ] ; 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`
kill -0 $PID 2>/dev/null
if [ $? -eq 0 ] ; then
echo "Warning! Anope is already running"
exit 1
fi
fi
echo "Starting Anope"
shift
$ANOPROG $*
if [ "$?" -ne "0" ] ; then
echo ""
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 https://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`
kill -0 $PID 2>/dev/null
if [ $? -eq 0 ] ; then
echo "Anope is currently running"
exit 0
fi
fi
echo "Anope is not currently running"
elif [ "$1" = "restart" ] ; then
isAnopeRunning
echo "Restarting Anope"
kill -15 `cat $ANOPEPID`
sleep 1
shift
$ANOPROG $*
if [ "$?" -ne "0" ] ; then
echo ""
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 https://www.anope.org/"
exit 1
fi
elif [ "$1" = "rehash" ] ; then
isAnopeRunning
echo "Saving Databases and Rehashing Configuration"
kill -1 `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 "$0 stop Shutdown Anope"
echo "$0 status Show Anope's Status"
echo "$0 restart Restart Anope (Databases will be saved)."
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 "https://www.anope.org/"
fi
else
echo "Anope Remote Control ($ARCVERSION)"
echo "Usage: $0 [start|stop|status|restart|rehash|version|help]"
fi