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 Logging, procmail & no comments & no trackbacks
Trackback specific URI for this entry