#!/bin/sh # Duncan Findlay # duncf@debian.org # Daily cronjob for SpamAssassin updates. This isn't pretty but it # should do the job. set -e CRON=0 test -f /etc/default/spamassassin && . /etc/default/spamassassin test -x /usr/bin/sa-update || exit 0 test -x /etc/init.d/spamassassin || exit 0 if [ "$CRON" = "0" ] ; then exit 0 fi # Sleep for up to 3600 seconds # Taken from apticron's cron.daily RANGE=3600 number=`od -vAn -N2 -tu4 < /dev/urandom` number=`expr $number "%" $RANGE` sleep $number # Update umask 022 sa-update || exit 0 # Compile, if rules have previously been compiled, and it's possible if [ -x /usr/bin/re2c -a -x /usr/bin/sa-compile -a -d /var/lib/spamassassin/compiled ]; then sa-compile > /dev/null 2>&1 fi # Fixup perms -- group and other should be able to read and execute, # but never write. Works around sa-compile's failure to obey umask. if [ -d /var/lib/spamassassin ]; then chmod -R go-w,go+rX /var/lib/spamassassin/ fi # Reload if which invoke-rc.d >/dev/null 2>&1; then invoke-rc.d spamassassin reload > /dev/null 2>&1 else /etc/init.d/spamassassin reload > /dev/null 2>&1 fi