63 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#!/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 <http://www.gnu.org/licenses/>.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								################################################################################
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# 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
							 |