
#!/bin/sh
# File	: get_sys_rpt.sh
# By	: Maarten.deBoer@Atos.net, 120201
# Subject	: Get system report
#(0.3)Mod	: Add DFM procs
#(0.4)		: WARN + CMDs (does not work)
#(0.5)		: Change order
#(0.6)		: Added; sudo ls -l /var/spool/clientmqueue/ | wc -l
#(0.7)		: Added; grep FSOD-SUPPORT /var/log/messages
#(0.8)		: Added more FS-en
PGM="`basename $0|cut -d\. -f1`"
VERSION="0.8"
TMP="/tmp/${PGM}.$$"
HOSTNAME="`hostname|cut -d\. -f1`"
MAIL=""

MAILTO="maarten.deboer@atos.net"

if [ "${1}" = "-m" ]; then
  MAIL="1"
fi

# Select Unix-type
OS="`uname -s`"

case ${OS} in
HP-UX)
  DATI="`date +%d"-"%m"-"%Y"_"%H":"%M`"
  echo "System report (v${VERSION}) of ${HOSTNAME} (${OS}) at ${DATI}:"|tee -a ${TMP}
  echo "* Filesystem usage"|tee -a ${TMP}
  bdf / /tmp /var /home |grep -v Mounted|awk '{print $5,$6}'|sort -n|tee -a ${TMP}
  echo "* System load" |tee -a ${TMP}
  /usr/bin/uptime | cut -d\: -f4|tee -a ${TMP}

  echo "* User(s) of previous days"|tee -a ${TMP}
  DAY="`date +%a|sed -e 's/0//g'`"
  /usr/bin/finger|grep -v Tty|grep -v "${DAY}"|grep -v 'No one logged on'|tee -a ${TMP}
  echo "* Uptime" |tee -a ${TMP}
  /usr/bin/uptime | cut -d\: -f2|tee -a ${TMP}
  echo "* CPU-load Top5"|tee -a ${TMP}
  UNIX95=""
  export UNIX95
  ps -ef -o pcpu,pid,args|grep -v COMMAND|sort -n|tail -5|tee -a ${TMP}
  ;;

SunOS)
  DATI="`date +%d"-"%m"-"%Y"_"%H":"%M`"
  echo "System report (v${VERSION}) of ${HOSTNAME} (${OS}) at ${DATI}:"|tee -a ${TMP}
  echo "* Filesystem usage"|tee -a ${TMP}
  df -h / /tmp /var /home /volumes/v1 /volumes/v2 |grep -v Mounted|awk '{print $5,$6}'|sort -n|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* Uptime" |tee -a ${TMP}
  /usr/bin/uptime | cut -d\, -f1|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* System load" |tee -a ${TMP}
  /usr/bin/uptime | cut -d\: -f4|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* CPU-load Top5"|tee -a ${TMP}
  ps -ef -o pcpu,pid,args|grep -v COMMAND|sort -n|tail -5|tee -a ${TMP}
  echo "" |tee -a ${TMP}

  echo "* User(s) of previous days"|tee -a ${TMP}
  DAY="`date +%a|sed -e 's/0//g'`"
  /usr/bin/finger|grep -v Tty|grep -v "${DAY}"|grep -v 'No one logged on'|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* DFM services"|tee -a ${TMP}
  /appl/tsu/bin/sudo dfm service list|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* DFM processes"|tee -a ${TMP}
  ps -ef | grep '/volumes/v2/NTAPdfm'|grep -v grep|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* FSOD-SUPPORT messages"|tee -a ${TMP}
  grep FSOD-SUPPORT /var/adm/messages|tee -a ${TMP}
  echo "" |tee -a ${TMP}

  ;;

Linux)
  DATI="`date +%d"-"%m"-"%Y" "%H":"%M`"
  echo "System report (v${VERSION}) of ${HOSTNAME} (${OS}) at ${DATI}:"|tee -a ${TMP}
  echo "* Filesystem usage"|tee -a ${TMP}
df -h / /tmp /var /home /home/aodfm01a /appl/dfm /appl/dfm/perfdata /appl/dfm/data/backup /appl/dfm/backup |grep -v Mounted|awk '{print $4,$5,$6}'|sort -nu|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* Messages in client Queue (/var/spool/clientmqueue/)"|tee -a ${TMP}
  /usr/bin/sudo ls -l /var/spool/clientmqueue/|wc -l|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* Uptime"|tee -a ${TMP}
  /usr/bin/uptime|cut -d\, -f1|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* System load"|tee -a ${TMP}
  /usr/bin/uptime|cut -d\: -f5|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* CPU-load Top5"|tee -a ${TMP}
  ps -eo pcpu,pid,args|grep -v COMMAND|sort -n|tail -5|tee -a ${TMP}
  echo "" |tee -a ${TMP}

  echo "* User(s) of previous days"|tee -a ${TMP}
  DAY="`date +%d|sed -e 's/0//g'`"
  /usr/bin/finger|grep -v Tty|grep -v "${DAY}"|grep -v 'No one logged on'|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* DFM services"|tee -a ${TMP}
  /usr/bin/sudo dfm service list|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  echo "* DFM processes"|tee -a ${TMP}
  ps -ef | grep '/appl/dfm'|grep -v grep|tee -a ${TMP}
  echo "" |tee -a ${TMP}
  grep FSOD-SUPPORT /var/log/messages|tee -a ${TMP}
  echo "" |tee -a ${TMP}

  ;;

esac


if [ ${MAIL} ]; then
  cat ${TMP}|mailx -s ":${HOSTNAME}: System report [${PGM} ${VERSION}]" ${MAILTO}
  echo "Mailed to ${MAILTO}"
fi


rm ${TMP}
exit 0

