pandorafms/pandora_server/pandora_server

78 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# Pandora Data Server, startup script
# Sancho Lerena, <slerena@gmail.com>
# Linux Version (generico)
# v1.3 Build 070802
# Configurable path and filenames
PANDORA_HOME="/etc/pandora/pandora_server.conf"
PANDORA_PID_PATH="/var/run/pandora"
PANDORA_PID=$PANDORA_PID_PATH/pandora_dataserver.pid
PANDORA_DAEMON=/usr/bin/pandora_server
# Main script
if [ ! -d "$PANDORA_PID_PATH" ]
then
echo "Pandora FMS cannot write it's PID file in $PANDORA_PID_PATH. Please create that directory"
exit
fi
if [ ! -f $PANDORA_DAEMON ]
then
echo "Pandora FMS Data Server not found, please check setup and read manual"
exit
fi
case "$1" in
start)
OLD_PATH="`pwd`"
if [ -f $PANDORA_PID ]
then
CHECK_PID=`cat $PANDORA_PID`
CHECK_PID_RESULT=`ps aux | grep -v grep | grep "$CHECK_PID" | grep "pandora_server" | wc -l`
if [ $CHECK_PID_RESULT == 1 ]
then
echo "Pandora FMS Data Server is currently running on this machine with PID ($CHECK_PID). Aborting now..."
exit
fi
fi
$PANDORA_DAEMON $PANDORA_HOME -D
sleep 1
MYPID=`ps aux | grep "$PANDORA_DAEMON" | grep -v grep | tail -1 | awk '{print $2}'`
if [ ! -z "$MYPID" ]
then
echo $MYPID > $PANDORA_PID
echo "Pandora Data Server is now running with PID $MYPID"
else
echo "Cannot start Pandora FMS Data Server. Aborted."
fi
cd "$OLD_PATH"
;;
stop)
if [ -f $PANDORA_PID ]
then
echo "Stopping Pandora FMS Data Server"
PID_2=`cat $PANDORA_PID`
if [ ! -z "`ps -F -p $PID_2 | grep -v grep | grep 'pandora_server' `" ]
then
kill `cat $PANDORA_PID` 2> /dev/null > /dev/null
fi
rm -f $PANDORA_PID
else
echo "Pandora FMS Data Server is not running, cannot stop it."
fi
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: pandora_server {start|stop|restart}"
exit 1
esac