| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- #!/bin/bash
- # (c) Michael Honkoop <mhonkoop@comsolve.nl>
- # License: GNU General Public License v2
- # v1.0:
- # - Initial release of the script
- # v1.1:
- # - Aligned quotation marks around variables cosistently
- # v1.2:
- # - started refining the script to a more modern bash-style
- # v1.3:
- # - adapted debug-output
- #
- # Current active version of the script
- SCRIPT_VERSION=1.3
- ################################################################
- # Global definitions for the script - change to fit your needs #
- ################################################################
- # Look for a process if a GroupWise MailTransferAgent (MTA) should be running (0 if no MTA is on the client, else set 1)
- gwMTA=1
- # Look for a process if a GroupWise PostOffice (POA) should be running (0 if no POA is on the client, else set 1)
- gwPOA=1
- # Look for a process if a GroupWise Internet Agent (GWIA) should be running (0 if no GWIA is on the client, else set 1)
- gwIA=1
- # Debug switch for development purposes ( 0 for no debug, 1 for debug information )
- debug=0
- # Service name
- SERVICE="GroupWise"
- #####################################################################
- # DO NOT CHANGE BELOW UNLESS YOU EXACTLY KNOW WHAT YOU ARE DOING #
- #####################################################################
- if [[ "$gwMTA" -eq 1 ]]
- then
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG: $SERVICE gwMTA is enabled in config, checking for the process."
- fi
- gwMTAProcess=$(pgrep -x gwmta)
- if [[ -n "$gwMTAProcess" ]]
- then
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG:We found a $SERVICE gwMTA process ID: $gwMTAProcess" >&2
- fi
- gwMTAListener=$(ss -lpn | grep "$gwMTAProcess" |awk '{print $5}' | grep -E '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'| sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
- if [[ -n "$gwMTAListener" ]]
- then
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG:We found atleast one $SERVICE gwMTA listener: $gwMTAListener" >&2
- fi
- echo "P \"$SERVICE MTA\" status=1;;;1 $SERVICE Mail Transfer Agent is running with PID: $gwMTAProcess and listening.\n $gwMTAListener"
- else
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG:We found no listeners for the $SERVICE gwMTA process with process ID: $gwMTAProcess" >&2
- fi
- echo "P \"$SERVICE MTA\" status=0.5;;;1 $SERVICE Mail Transfer Agent is running with PID: $gwMTAProcess but not listening."
- fi
- else
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG: $SERVICE gwMTA is enabled in config, but no processes could be found."
- fi
- echo "P \"$SERVICE MTA\" status=0;;;1 $SERVICE Mail Transfer Agent process is not Running."
- fi
- else
- echo "DEBUG: $SERVICE gwMTA is not enabled in config, skipping." >&2
- fi
- if [[ "$gwPOA" -eq 1 ]]
- then
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG: $SERVICE gwPOA is enabled in config, checking for the process." >&2
- fi
- gwPOAProcess=$(pgrep -x gwpoa)
- if [[ -n "$gwPOAProcess" ]]
- then
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG:We found a $SERVICE gwPOA process ID: $gwPOAProcess" >&2
- fi
- gwPOAListener=$(ss -lpn | grep "$gwPOAProcess" |awk '{print $5}' | grep -E '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | sort -u | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' )
- if [[ -n "$gwPOAListener" ]]
- then
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG:We found atleast one $SERVICE gwPOA listener: $gwPOAListener" >&2
- fi
- echo "P \"$SERVICE POA\" status=1;;;1 $SERVICE Post Office Agent is running with PID: $gwPOAProcess and listening.\n $gwPOAListener"
- else
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG:We found no listeners for the $SERVICE gwPOA process with process ID: $gwPOAProcess" >&2
- fi
- echo "P \"$SERVICE POA\" status=0.5;;;1 $SERVICE Post Office Agent is running with PID: $gwPOAProcess but not listening."
- fi
- else
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG: $SERVICE gwPOA is enabled in config, but no processes could be found." >&2
- fi
- echo "P \"$SERVICE POA\" status=0;;;1 $SERVICE Post Office Agent process is not Running."
- fi
- fi
- if [[ "$gwIA" -eq 1 ]]
- then
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG: $SERVICE gwIA is enabled in config, checking for the process." >&2
- fi
- gwIAProcess=$(pgrep -x gwia)
- if [[ -n "$gwIAProcess" ]]
- then
- gwIAListener=$(ss -lpn | grep "$gwIAProcess" |awk '{print $5}' | grep -E '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | sort -u | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
- if [[ -n "$gwIAListener" ]]
- then
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG:We found atleast one $SERVICE gwIA listener: $gwIAListener" >&2
- fi
- echo "P \"$SERVICE GWIA\" status=1;;;1 $SERVICE Internet Agent is running with PID: $gwIAProcess and listening.\n $gwIAListener"
- else
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG:We found no listeners for the $SERVICE gwIA process with process ID: $gwIAProcess" >&2
- fi
- echo "P \"$SERVICE GWIA\" status=0.5;;;1 $SERVICE Internet Agent is running with PID: $gwIAProcess but not listening."
- fi
- else
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG: $SERVICE gwIA is enabled in config, but no processes could be found." >&2
- fi
- echo "P \"$SERVICE GWIA\" status=0;;;1 $SERVICE Internet Agent process is not Running."
- fi
- fi
- gwAdminProcess=$(pgrep -f 'gwadmin\.jar')
- if [[ -n "$gwAdminProcess" ]]
- then
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG:We found a $SERVICE gwAdmin process ID: $gwAdminProcess"
- fi
- gwAdminListener=$(ss -lpn| grep "$gwAdminProcess" | awk '{print $5}' | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | sort -u | sed 's/^::ffff://' | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
- if [[ -n "$gwAdminListener" ]]
- then
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG:We found atleast one $SERVICE gwAdmin listener: $gwAdminListener" >&2
- fi
- echo "P \"$SERVICE AdminService\" status=1;;;1 $SERVICE AdminService process is running with PID: $gwAdminProcess and listening.\n $gwAdminListener"
- else
- if [[ "$debug" -eq 1 ]]
- then
- echo "DEBUG:We found no listeners for the $SERVICE gwAdminService process with process ID: $gwAdminProcess" >&2
- fi
- echo "P \"$SERVICE AdminService\" status=0.5;;;1 $SERVICE AdminService is running with PID: $gwAdminProcess but not listening."
- fi
- else
- echo "P \"$SERVICE AdminService\" status=0;;;1 $SERVICE AdminService process is not Running."
- fi
|