Setting up a cron job to force Bayes Expiry
By default, SpamAssassin learns to a journal instead of learning directly to the Bayes database. Unfortunately, occasionally SpamAssassin will need to re-sync the database and expire old tokens from the database, and it will do this before processing the message. To get around this, we can force expiry on a different schedule.
- Add "bayes_auto_expire 0" to /etc/spamassassin/local.cf to stop SA from trying to expire old tokens.
Stop SpamAssassin and things that depend on it
.... /etc/init.d/exim4 stop /etc/init.d/spamassassin stop
- Run "sa-learn --force-expire". (which takes ~25 secs on my machine)
Restart SpamAssassin and things that depend on it:
/etc/init.d/spamassassin start /etc/init.d/exim4 start ....
- Bundle steps 2-4 into a crontab job(s).