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
openSUSE Build Service is sponsored by