#!/bin/bash TESTNAME=$1 RESULTNAME=$2 cd $(dirname $0) RESULTSPATH=$PWD/results/$RESULTNAME CORPUS=$PWD/corpus HELPERPATH=$PWD/helper/$TESTNAME TESTSPATH=$PWD/tests/$TESTNAME USERPREFS=$RESULTSPATH/user_prefs SITECONFIG=$RESULTSPATH/site CONFIGPATH=$RESULTSPATH/share DBPATH=$RESULTSPATH/dbdir/bayes # Uncomment this variable if you want to override the system wide configpath CONFIGPATHVALUE=--configpath=$CONFIGPATH runcmd () { echo "$*" #time env PERL5OPT=-d:NYTProf NYTPROF=trace=2; $* time $* echo "** DB STATS **" /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --dump magic $HELPERPATH/dbsize $RESULTSPATH } mkdir -p $RESULTSPATH cp -R $TESTSPATH/* $RESULTSPATH exec &> $RESULTSPATH/output.txt $HELPERPATH/setup $RESULTSPATH $HELPERPATH/cleardb $RESULTSPATH echo "[Running sa-learn --ham on hambucket1.mbox]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --ham --mbox $CORPUS/hambucket1.mbox echo "[Running sa-learn --spam on spambucket1.mbox]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --spam --mbox $CORPUS/spambucket1.mbox echo "[Backing Up Bayes Tokens]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup1.txt echo "[Running Bayes force-expire]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --force-expire echo "[Removing old spamd.log file]" rm $RESULTSPATH/spamd.log echo "[Starting up spamd]" /usr/sbin/spamd -d -L $CONFIGPATHVALUE --siteconfigpath=$SITECONFIG -x --syslog=$RESULTSPATH/spamd.log --socketpath=/tmp/spamd.sock --pidfile=$RESULTSPATH/spamd.pid echo "[Sleeping a little to make sure spamd starts up]" sleep 10 spamdpid=$(cat $RESULTSPATH/spamd.pid) trap "kill $spamdpid" ERR EXIT INT TERM echo "[Running Bucket 2]" #$PWD/runmbox.pl $CORPUS/hambucket2.mbox $CORPUS/spambucket2.mbox time $PWD/runmulti.pl $CORPUS/hambucket2.mbox $CORPUS/spambucket2.mbox $CORPUS/hambucket3.mbox $CORPUS/spambucket3.mbox echo "[Running Bayes sync]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --sync echo "[Backing Up Bayes Tokens]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup2.txt echo "[Running Bayes force-expire]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --force-expire echo "[Backing Up Bayes Tokens]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup3.txt echo "[Running sa-learn --forget on hamforget1.mbox]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --forget --mbox $CORPUS/hamforget1.mbox echo "[Running sa-learn --forget on spamforget1.mbox]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --forget --mbox $CORPUS/spamforget1.mbox echo "[Backing Up Bayes Tokens]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup4.txt echo "[Running spamassassin on hambucket3.mbox]" runcmd /usr/bin/spamassassin -L $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --mbox $CORPUS/hambucket4.mbox > /dev/null echo "[Running spamassassin on spambucket3.mbox]" runcmd /usr/bin/spamassassin -L $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --mbox $CORPUS/spambucket4.mbox > /dev/null echo "[Running Bayes sync]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --sync echo "[Backing Up Bayes Tokens]" runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup5.txt