#!/bin/sh
# This is a script that gathers up information for problem determination.
#Clear out file.
rm -f /tmp/nsmedic.out > /dev/null 2>&1
#print header
echo "NS_Medic" > /tmp/nsmedic.out
date >> /tmp/nsmedic.out
echo "hostname: "`hostname` >> /tmp/nsmedic.out

#find out who we are
echo " " >> /tmp/nsmedic.out
echo "Output from id:" >> /tmp/nsmedic.out
id >> /tmp/nsmedic.out

#gather up process info
echo " " >> /tmp/nsmedic.out
echo "Output from ps auxwv:" >> /tmp/nsmedic.out
ps auxwv >> /tmp/nsmedic.out 2> /dev/null

#Extract DHCP information.
echo "" >> /tmp/nsmedic.out
echo "Output from /var/lib/dhcp/dhclient.leases" >> /tmp/nsmedic.out
if [ -f /var/lib/dhcp/dhclient.leases ]; then
 cat /var/lib/dhcp/dhclient.leases >> /tmp/nsmedic.out
fi

#Extract nvram information
echo "" >> /tmp/nsmedic.out
echo "Nvram data." >> /tmp/nsmedic.out
/IBM/bin/readNvram 76 > /dev/null 2>&1
if [ -f /tmp/snmp/76 ]; then
 MODEL_NUMBER=`cat /tmp/snmp/76 | sed 's/-...$//'`
 if [ ! "$MODEL_NUMBER" ]; then
    MODEL_NUMBER=None
 fi
 if [ $MODEL_NUMBER = "IBM-8364" -o $MODEL_NUMBER = "IBM-8363" ]; then
  nvcnt=0;
  while [ "$nvcnt" -lt 99 ]
   do
    rm -f /tmp/snmp/tmpfile
    nvcnt=`expr $nvcnt + 1`
    /IBM/bin/nvram_rw -I/tmp/snmp/nvram.bin -r$nvcnt -OT/tmp/snmp/tmpfile
    cat /tmp/snmp/tmpfile >> /tmp/nsmedic.out
   done
  rm -f /tmp/snmp/tmpfile
 elif [ $MODEL_NUMBER = "8366N70" -o $MODEL_NUMBER = "8366n70" ]; then
  cat /configs/nvram_settings >> /tmp/nsmedic.out
 else
  echo "Model number not resolved.  No nvram data." >> /tmp/nsmedic.out
 fi
fi

#Get mounted file info
echo " " >> /tmp/nsmedic.out
echo "Output from df:" >> /tmp/nsmedic.out
df >> /tmp/nsmedic.out

if [ -f /tmp/profile/user/home/.netscape/preferences.js ]; then
  echo >> /tmp/nsmedic.out
  echo "/tmp/profile/user/home/.netscape/preferences.js" >> /tmp/nsmedic.out
  cat /tmp/profile/user/home/.netscape/preferences.js >> /tmp/nsmedic.out
fi

#Extract DNS info
echo " " >> /tmp/nsmedic.out
echo "Output from cat /etc/resolv.conf:" >> /tmp/nsmedic.out
cat /etc/resolv.conf >> /tmp/nsmedic.out

#Extract DNS info
echo " " >> /tmp/nsmedic.out
echo "Output from cat /etc/hosts:" >> /tmp/nsmedic.out
cat /etc/hosts >> /tmp/nsmedic.out

#Extract kernel level
echo " " >> /tmp/nsmedic.out
echo "Output from uname -a:" >> /tmp/nsmedic.out
uname -a >> /tmp/nsmedic.out

#Get syslog
echo " " >> /tmp/nsmedic.out
echo "Output from dmesg:" >> /tmp/nsmedic.out
dmesg >> /tmp/nsmedic.out

#Get interface info
echo " " >> /tmp/nsmedic.out
echo "Output from ifconfig -a:" >> /tmp/nsmedic.out
ifconfig -a >> /tmp/nsmedic.out

echo >> /tmp/nsmedic.out 
echo "Printer information from /etc/printcap" >> /tmp/nsmedic.out
cat /etc/printcap >> /tmp/nsmedic.out

#Extract envvars
echo " " >> /tmp/nsmedic.out
echo "Output from set:" >> /tmp/nsmedic.out
set >> /tmp/nsmedic.out

#Extract java version
echo " " >> /tmp/nsmedic.out
echo "Output from java -version:" >> /tmp/nsmedic.out
java -version >> /tmp/nsmedic.out 2>&1

# various /proc's
for i in version devices cpuinfo pci meminfo cmdline
 do
  if [ -f /proc/$i ]; then
   echo "" >> /tmp/nsmedic.out
   echo "/proc/$i" >> /tmp/nsmedic.out
   cat /proc/$i >> /tmp/nsmedic.out
  fi
 done
# various desktop configs.
for i in WM_Config icewmprefs IBMSetupIcewmInfo IBMSetupDesktopConfig Setup3270 IBM3270 Setup5250 IBM5250
 do
  if [ -f /tmp/profile/user/$i ]; then
   echo "" >> /tmp/nsmedic.out
   echo "/tmp/profile/user/$i" >> /tmp/nsmedic.out
   cat /tmp/profile/user/$i >> /tmp/nsmedic.out
  fi
 done

#exported directories.
if [ -f /etc/exports ]; then
 echo "" >> /tmp/nsmedic.out
 echo "Exported directories." >> /tmp/nsmedic.out
 cat /etc/exports >> /tmp/nsmedic.out
fi

#Now that we've got alot gathered up, tar it to save space
#rm ~/nsexam.tgz > /dev/null 2>&1
echo " " >> /tmp/nsmedic.out
date >> /tmp/nsmedic.out
#tar -C /tmp -czf ~/nsexam.tgz nsmedic.out
cp /tmp/nsmedic.out ~/nsmedic.out
rm -f /tmp/nsmedic.out > /dev/null 2>&1
echo "NS Medic has produced the following file (nsmedic.out) in" $HOME
ls -l ~/nsmedic.out
echo " "
echo "To view this file, enter the following commands:"
echo "cat ~/nsmedic.out"
