Skip navigation.

Eximstats script

I've written a little bash-script for eximstats. This script runs eximstats so, that it creates a daly/weekly/monthly and yearly report :-)

This script doesn't create an index.html or so, but within a .htaccess "Options +Indexes" this should be no problem :-)

#!/bin/sh

STATSPATH="/path/to/exim/status/output"
EXIMLOG="/var/log/exim/exim_*.log"

##end config
cd $STATSPATH

DAY=`date +"%u"`
WEEK=`date +"%W"`
MONTH=`date +"%m"`
YEAR=`date +"%Y"`

function report(){
    OUTPUT=$1
    MERGEPATTERN=$2
    mkdir -p $OUTPUT
    echo eximstats -html -charts -merge -chartdir $OUTPUT -chartrel $OUTPUT $MERGEPATTERN.html
    eximstats -html -charts -merge -chartdir $OUTPUT -chartrel $OUTPUT $MERGEPATTERN.html > $OUTPUT.html
}

#create daily report
mkdir -p day$DAY
eximstats -html -charts -chartdir day$DAY -chartrel day$DAY $EXIMLOG >day$DAY.html
#update weekly report
report week$MONTH-$WEEK day?
#update monthly report
report month$MONTH week??-??
#uptdate yearly report
report year$YEAR month??

The script is called from logrotate.

/etc/logrotate.d/exim:

/var/log/exim/exim*.log {
        daily
        missingok
        rotate 28
        compress
        delaycompress
        notifempty
        create 640 mail mail
        sharedscripts
        prerotate
                /path/to/eximstats.sh
        postrotate
                /etc/init.d/exim restart > /dev/null
        endscript
}