- #!/bin/sh
-
- # Name : /public/scripts/chkpsdm
- # Purpose : Monitoring which daemons are up
- # By : Yariv Sheizaf
- # Date : 12-Aug-2001
-
- ## Define hostname and administrator login for sending email
- HOST=`hostname`
- admin=yariv@globecom-interactive.com
-
- ## Define report files
- CURFILE=/tmp/$$.chkpsdm.cur
- PREFILE=/tmp/$$.chkpsdm.pre
- DIFFILE=/tmp/$$.chkpsdm.dif
-
- \rm -f $DIFFILE $PREFILE $CURFILE
- touch $DIFFILE $PREFILE $CURFILE
-
- ## main loop
- while true
- do
- sleep 10
-
- \rm -f $DIFFILE $PREFILE
- mv $CURFILE $PREFILE
-
-
- ## Create report file of running processes
- PROCF=/tmp/procfil$$
- ps -ef -o args >$PROCF
-
- for i in Npdd Lsm http java startTrap startIsAli startWeb sdud sdad rmserver
- do
- grep $i $PROCF | awk '{print $NF}' | sort | uniq >> $CURFILE
- done
-
- ## Compare current Globecom services status with previous interval's status
- ## Send email to administrator if the status was changed during this interval
- diff $CURFILE $PREFILE > $DIFFILE
- ISDIFF=`wc -l $DIFFILE | awk '{print $1}'`
- if [ "$ISDIFF" != "0" ]
- then
- /usr/ucb/mail -s " Globecom services change report on - $HOST " $admin <<- EOF
- `diff $CURFILE $PREFILE`
- EOF
-
- \rm -f $DIFFILE
- touch $DIFFILE
- fi
- done
-
- ## Remove temporary files
- \rm -f $CURFILE $PREFILE $DIFFILE
-
- exit 0
-