#!/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