#!/bin/bash # Pandora FMS Recon Server, startup script # Sancho Lerena, # Linux Version (generic) # v1.3 Build 070731 # Configurable path and filenames PANDORA_HOME="/usr/share/pandora_server" PANDORA_PID_PATH="/var/run/pandora" PANDORA_PID=$PANDORA_PID_PATH/pandora_recon.pid # 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_HOME/bin/pandora_recon.pl ] then echo "Pandora FMS Recon 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_recon" | wc -l` if [ $CHECK_PID_RESULT == 1 ] then echo "Pandora FMS Recon Server is currently running on this machine with PID ($CHECK_PID). Aborting now..." exit fi fi cd $PANDORA_HOME/bin ./pandora_recon.pl $PANDORA_HOME -D MYPID=`ps aux | grep 'pandora_recon.pl' | grep -v grep | tail -1 | awk '{print $2}'` if [ ! -z "$MYPID" ] then echo $MYPID > $PANDORA_PID echo "Pandora Recon Server is now running with PID $MYPID" else echo "Cannot start Pandora FMS Recon Server. Aborted." fi cd "$OLD_PATH" ;; stop) if [ -f $PANDORA_PID ] then echo "Stopping Pandora FMS Recon Server" PID_2=`cat $PANDORA_PID` if [ ! -z "`ps -F -p $PID_2 | grep -v grep | grep 'pandora_recon' `" ] then kill `cat $PANDORA_PID` 2> /dev/null > /dev/null fi rm -f $PANDORA_PID else echo "Pandora FMS Recon Server is not running, cannot stop it." fi ;; force-reload|restart) $0 stop $0 start ;; *) echo "Usage: pandora_recon {start|stop|restart}" exit 1 esac