gotmail   [plain text]


#------------------------------------------------------------------------------
#
#               GotMail - Statistics Printing Script for GetMail
#
#             1999 by Thomas Nesges <ThomaNesges@TNT-Computer.de>
#
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
# GotMail reads a GetMail logfile (/var/log/fetchmail.log) and prints
# statistics from all sessions logged in it, either as normal text on the
# Console, or as an html-file. The parsing is done with the awk-scripts
# gotmail.awk and gotmail.html.awk.
# You can configure its output with a file gotmail.conf either in your home,
# /etc, or in /usr/local/gotmail.
#
# GetMail has to be properly installed. For HTML output the htmllib has to be
# installed in /usr/local/htmllib.
#
# If you have any changes/corrections in the script, please send me email.
#------------------------------------------------------------------------------


#!/bin/sh

# Gotmail
# 1999 by Thomas Nesges <ThomasNesges@TNT-Computer.de>

# read the configuration
# the configuration can either be
#  ~/.gotmail.conf
#  /etc/gotmail.conf
#  /usr/local/gotmail/gotmail.conf
if { test -e ~/.gotmail.conf; };
    then { source ~/.gotmail.conf; };
    else { if { test -e /etc/gotmail.conf; }; 
          then { source /etc/gotmail.conf; };
          else { if { test -e /usr/local/gotmail/gotmail.conf; };
          then { source /usr/local/gotmail/gotmail.conf; };
                 else { echo 'Error: gotmail.conf could not be read';
			echo 'gotmail exits now..';
			exit; };
                 fi; };
          fi; };
fi;


# grep the fetchmail.log for relevant messages and save them in
# gotmails tempfile
cat /var/log/fetchmail.log | grep 'message' >> /tmp/gotmail.log.tmp
cat /var/log/fetchmail.log | grep 'Authorization' >> /tmp/gotmail.log.tmp
cat /var/log/fetchmail.log | grep 'fetchmail st' >> /tmp/gotmail.log.tmp


# parse the gotmail tempfile and prints a statistiks-screen
case "$1" in
  html)
    awk -f /usr/local/htmllib/htmllib.awk -f /usr/local/gotmail/gotmail.html.awk /tmp/gotmail.log.tmp > /dev/null
    ;;
  -v)
    echo 'gotmail version: 0.0.1'
    ;;
  *)
    awk -f /usr/local/gotmail/gotmail.awk /tmp/gotmail.log.tmp
    ;;
esac

# remove the gotmail tempfile
rm /tmp/gotmail.log.tmp