File nxwatch of Package nxcleanup
#!/bin/bash
#
# Simple Script that watches status of NX Server
# and sends a mail to $ADMIN_EMAIL
#
# set ADMIN_EMAIL to enable sending of email
#ADMIN_EMAIL="urs.beyerle@psi.ch"
PATH=/bin:/usr/bin
TMPFILE=$( mktemp )
echo | tee -a $TMPFILE
echo "-------------------------------" | tee -a $TMPFILE
echo -n "Host: " | tee -a $TMPFILE
echo $HOSTNAME | tee -a $TMPFILE
echo "-------------------------------" | tee -a $TMPFILE
echo | tee -a $TMPFILE
ls /var/lib/nxserver/db/running/* >/dev/null 2>&1
if [ "$?" != "0" ]; then
echo "No NX session seems to run" | tee -a $TMPFILE
echo "-------------------------------" | tee -a $TMPFILE
echo | tee -a $TMPFILE
else
echo "NX Sessions Running:" | tee -a $TMPFILE
echo "-------------------------------" | tee -a $TMPFILE
grep -H status=Running /var/lib/nxserver/db/running/* | tee -a $TMPFILE
echo | tee -a $TMPFILE
echo "NX Sessions Suspended / Suspending:" | tee -a $TMPFILE
echo "-------------------------------" | tee -a $TMPFILE
grep -H status=Suspend /var/lib/nxserver/db/running/* | tee -a $TMPFILE
echo | tee -a $TMPFILE
echo "NX Xserver display numbers:" | tee -a $TMPFILE
echo "-------------------------------" | tee -a $TMPFILE
grep -H display= /var/lib/nxserver/db/running/* | tee -a $TMPFILE
echo | tee -a $TMPFILE
fi
echo "Xserver sockets:" | tee -a $TMPFILE
echo "-------------------------------" | tee -a $TMPFILE
ls -la /tmp/.X1* | tee -a $TMPFILE
echo | tee -a $TMPFILE
echo "NXagent running:" | tee -a $TMPFILE
echo "-------------------------------" | tee -a $TMPFILE
ps wwaux | grep /usr/lib/NX/nxagent | grep -v grep | tee -a $TMPFILE
echo | tee -a $TMPFILE
echo
echo "All processes running:" | tee -a $TMPFILE
echo "-------------------------------" | tee -a $TMPFILE
ps wwauxf | tee -a $TMPFILE
echo | tee -a $TMPFILE
if [ "$ADMIN_EMAIL" ]; then
cat $TMPFILE | mail -s "NX Status on $HOSTNAME" $ADMIN_EMAIL
fi
rm -f $TMPFILE