#!/bin/csh
# Send tail of syslog to mud administrators after the mud has crashed.
# Will append relevant god info to the wizinfo log, and record the
# tail end of syslog in lastcrash. This is emailed to the administrators.
# Will also remove syslog.

set DIR= <path of running dir>
set AWK=/bin/awk
set AWKFILE=${DIR}/kill.awk
set AWKOUT=${DIR}/awk.out
set ECHO=/bin/echo
set GREP=/usr/ucb/grep
set SYSLOG=${DIR}/syslog
set WIZLOG=${DIR}/wizlog
set LASTCRASH=${DIR}/lastcrash
set CRASHLOG=${DIR}/crashlog
set LASTKILL=${DIR}/lastkill
set KILLLOG=${DIR}/killlog
set TAIL=/usr/ucb/tail
set MAIL=/usr/ucb/mail
set RM=/bin/rm
set CP=/bin/cp
set HEAD=/usr/ucb/head
set IMPS="<email for people to receive summaries>"

cd ${DIR}
# Do kill statistics
# awk'ing and mailing
${ECHO} "Syslog Summary:" > ${AWKOUT}
${ECHO} "-------------------------------------" >> ${AWKOUT}
${ECHO} "SETSTATS" >> ${AWKOUT}
${ECHO} >> ${AWKOUT}
${GREP} setstat ${SYSLOG} >> ${AWKOUT}
${ECHO} "-------------------------------------" >> ${AWKOUT}
${ECHO} "PARDONS" >> ${AWKOUT}
${ECHO} >> ${AWKOUT}
${GREP} pardon ${SYSLOG} >> ${AWKOUT}
${ECHO} "-------------------------------------" >> ${AWKOUT}
${AWK} -f ${AWKFILE} ${SYSLOG} >> ${AWKOUT}
${ECHO} "-------------------------------------" >> ${AWKOUT}

# Mail it to the implementors
${MAIL} -s "last kill" ${IMPS} < ${AWKOUT}

# Append kill data to kill log
${GREP} kill ${SYSLOG} >> ${KILLLOG}
# Append wizard data to wizard log
${GREP} WIZ ${SYSLOG} >> ${WIZLOG}
# Append crash data to crash log
${TAIL} -20 ${SYSLOG} >> ${CRASHLOG}
${ECHO} "-------head------" > ${LASTCRASH}
${HEAD} -40 ${SYSLOG} >> ${LASTCRASH}
${ECHO} "-------tail------" >> ${LASTCRASH}
${TAIL} -20 ${SYSLOG} >> ${LASTCRASH}
# Mail it
${MAIL} -s "last crash" ${IMPS} < ${LASTCRASH}
# Delete the syslog file
#${RM} -f ${SYSLOG}
${CP} /dev/null ${SYSLOG}