Sure, it was meant to be a quick and dirty solution for my particular needs, 
and I'm sure there are many things that could be done better, neater, tidier. 
But I just thought I'd stick it up there in case it helped anyone.

For handling both compressed and uncompressed files, I believe you can use 
'zcat -f', which might be easier. In my particular case, I have weekly log 
rotation, so I only needed the two named ones to guarantee 24 hours of logs.

Fair commend about the TEMPFILE. Must have pasted an older version to the one I 
eventually used on the server. Will correct it.

Aki, I did look at the dovecot stats module, but after spending a few hours 
without success, I decided to take the path of least resistance and just hack 
up a script which probably took me an hour. Anyway thanks for your help and 
patience on that. I'd probably persevere with that approach if I was in 
corporate mode, and especially if I needed historical / comparative data.

P.

On 02/06/2021 16.41, @lbutlr wrote:
On 02 Jun 2021, at 02:10, Plutocrat <plutoc...@gmail.com> wrote:
Its here if anyone can use it. Any suggestions for improvement welcome. Use at 
your own risk etc.

https://gist.github.com/plutocrat/8a2033923e14670dd13611fc0b51fc0f

This looks good. My only comment is the script doesn't account for compressed 
logs.

LOG1="/var/log/dovecot.log.0.bz2"
LOG2="/var/log/dovecot.log"
bzcat $LOG1 | sed "0,/^$STARTTIME/d" > $TEMPFILE
cat $LOG2 >> $TEMPFILE

Well, another comment, I think you meant these tow lines to read like this:

STARTDATE=$(head -n 1 $TEMPFILE | awk '{print $1 " " $2 " " $3 }')
ENDDATE=$(tail -n 1 $TEMPFILE | awk '{print $1 " " $2 " " $3 }')

Though I don't think the awk is necessary, the first 15 characters of the first 
and last lines contain the info you want to display.

Of course, it would begetter to handle this all transparently, but … meh.

Reply via email to