/usr/portage

Convenient logging with procmail 0

I like to have a procmail logfile to find possible bugs in my ~1000 lines of mail filter rules. But if you get around thousand mails a day, the logfile size becomes bigger and bigger. And I always forget to remove that logfile. So I decided to let procmail do that job. I want to have a logfile structure logs/procmail/$YEAR/$MONTH/$DAY.log and I want the logfiles to be compressed daily and I want them to be kept for one month. This is how it looks like:

PATH="/bin:/usr/bin:/usr/local/bin:/usr/sbin:$HOME/bin"
MONTH=`date +%m`
YEAR=`date +%Y`
DAY=`date +%d`
YESTERDAY=`echo $DAY-1|bc -l`
LAST_MONTH=`echo $MONTH-1|bc -l
LAST_MONTH=`test $LAST_MONTH -eq 0 && echo 12 || echo $LAST_MONTH`
RM_RESULT=`test -d "$HOME/log/procmail/$YEAR/$LAST_MONTH" && rm -rf "$HOME/log/procmail/$YEAR/$LAST_MONTH"`
MKDIR_RESULT=`mkdir -p $HOME/log/procmail/$YEAR/$MONTH`
BZIP_RESULT=`test -f "$HOME/log/procmail/$YEAR/$MONTH/$YESTERDAY.log" && bzip2 "$HOME/log/procmail/$YEAR/$MONTH/$YESTERDAY.log"`
LOGFILE="$HOME/log/procmail/$YEAR/$MONTH/$DAY.log"

Yes, I know, I could do this in a cron. But it was funny to do it in the procmailrc.

Filed under , & no comments & no trackbacks

Trackbacks

Trackback specific URI for this entry

No Trackbacks

Comments

No comments

Add a Comment & let me know what you think