#!/bin/sh 
#
# sslog                       Sean Boran, 11.2.00
# Connect to the sunscreen specified as ARG1, download the log
# and clear it, analyse it and send results by email to $user
#

user='root';
report="/logs/ssreport";
rawlog="/logs/sslog";
textlog="/logs/sslog.text";
ssadm="/opt/SUNWicg/SunScreen/bin/ssadm";
gzip=/usr/local/bin/gzip;
now=`date +%y%m%d`.`date +%H%M`;
SSADM_TICKET_FILE=/.ssadmticket; export SSADM_TICKET_FILE
PATH=/bin:/usr/bin:/opt/gnu/bin:/opt/SUNWicg/SunScreen/bin:/opt/SUNWicg/SunScreen/lib; export PATH
ss=$1;
if [ "$ss" = "" ] ; then
  echo "$0: Please provide the sunscreen name as the first parameter".
  exit 1;
fi

##---------- functions -------
check_err () {
    if [ $* -ne 0 ] ; then
         echo "$0 ABORTED: Could not execute command."
         exit 1;
    fi
}

ask_user () {
  echo "get logs from Sunscreen: $ss"
  echo "First login with a command like:"
  echo "  ssadm -r $ss login admin PASSWORD".
  echo "  "
  echo "press Return when ready or Control-C to abort...\c"
  read input
}

ask_user;
#ask_user;
echo "Get traffic & log stats..."
touch $SSADM_TICKET_FILE;

rm $report > /dev/null 2>&1
date                  > $report
echo "traffic_stats and logstats report" >> $report
echo "---------------------------------" >> $report
$ssadm -r $ss active >> $report;
check_err "$?";
echo " " >> $report
$ssadm -r $ss traffic_stats >> $report;
check_err "$?";
echo " " >> $report
$ssadm -r $ss logstats >> $report;
check_err "$?";
mailx -s "$ss stats summary" $user < $report
mv $report  $report.$now

echo "Get and empty log..."
$ssadm -r $ss log -U "SS admin: emptied log" get_and_clear > $rawlog 
check_err "$?";

echo "Create verbose summary log ..."
echo "                                 " > $report.full
echo "---- Log grep entries for $ss --------" >> $report.full
echo "Packets from 176.17.17.99 ignored.." >> $report.full
echo "                                      " >> $report.full
$ssadm logdump -i $rawlog -D -t a -V  not host 176.17.17.99 >> $report.full
date                  >> $report.full
mv $report.full  $report.verbosesum.$now
$gzip $report.verbosesum.$now;
uuencode $report.verbosesum.$now.gz $report.verbosesum.$now.gz | mailx -s "Sunscreen $ss log summary" $user;

#echo "Create grepped detailed log ..."
#echo "                                 " > $report.full
#echo "---- Log grep entries for $ss --------" >> $report.full
#$ssadm logdump -i $rawlog -D -t a -v | egrep "emptied|reboot|arrived at| port| address|Interface|Log Reason" >> $report.full
#date                  >> $report.full
#mailx -s "$ss log grep detailed " $user < $report.full
#mv $report.full  $report.grep.$now

mv $rawlog  $rawlog.$now
$gzip $rawlog.$now
echo "done, send by email to $user"
echo "You might want to logout now, with"
echo "  ssadm -r $ss logout"

#eof
