#!/bin/sh ################################################################################ # # Rattail -- Retail Software Framework # Copyright © 2010-2018 Lance Edgar # # This file is part of Rattail. # # Rattail is free software: you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software # Foundation, either version 3 of the License, or (at your option) any later # version. # # Rattail is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License along with # Rattail. If not, see . # ################################################################################ # # This is a simple script which will output a single line of info, and exit # with a return code which indicates status of a given Rattail daemon. It was # designed for use with Shinken monitoring. Invoke like so: # # check-rattail-daemon NAME # # Where NAME refers to the service, e.g. 'rattail-datasync'. Exit code may be: # # * 0 = daemon is confirmed running # * 2 = daemon is confirmed *not* running # * 3 = unknown state # ################################################################################ NAME="$1" if [ "$NAME" = "" ]; then echo "Usage: check-rattail-daemon NAME" exit 3 fi PIDFILE="/var/run/rattail/$NAME.pid" if [ ! -f "$PIDFILE" ]; then echo "PID file not found: $PIDFILE" exit 2 fi PID=`cat $PIDFILE` if [ "$PID" = "" ]; then echo "File exists but contains no PID: $PIDFILE" exit 3 fi ps -p $PID >/dev/null if [ ! $? ]; then echo "No process found for PID $PID; per file: $PIDFILE" exit 2 fi echo "Rattail daemon $NAME is running with PID $PID" exit 0