#------------------------------------------------------------------------------ # # GotMail - Statistics Printing Script for GetMail # # 1999 by Thomas Nesges # #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ # 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 # 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