aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/gotmail
blob: 8580da6dd218e7ac0efb80096b0357d7df99bae6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#------------------------------------------------------------------------------
#
#               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