Le 12/09/2013 08:31, Steffen Kaiser a écrit :
above script is missing important log information: the current uid and $HOME; also sa-learn knows -D
I would change for a testing period: #!/bin/sh echo /usr/bin/sa-learn $* /tmp/sendmail-msg-$$.txt ; echo "$$-start ($*)" >> /tmp/sa-learn-pipe.log ; #echo $* > /tmp/sendmail-parms.txt ; cat<&0 >> /tmp/sendmail-msg-$$.txt ; /usr/bin/sa-learn -D $* /tmp/sendmail-msg-$$.txt
/tmp/sa-learn-pipe.$$.tmp 2>&1; echo $$ sa-learn rc=$? id=$(id) HOME=$HOME >> /tmp/sa-learn-pipe.log while read line; do echo $$-sa-learn "$line" >> /tmp/sa-learn-pipe.log done < /tmp/sa-learn-pipe.$$.tmp rm -f /tmp/sendmail-msg-$$.txt /tmp/sa-learn-pipe.$$.tmp echo "$$-end" >> /tmp/sa-learn-pipe.log ; exit 0;
thank you a lot, i tried this, and here is what i got in the log :
22:00 root@effraie01 ~ # cat /tmp/sa-learn-pipe.log ... 4933-start (--ham) 4933 sa-learn rc=0 id=uid=3000(vmail) gid=3000(vmail) groups=3000(vmail) HOME= 4933-end 4953-start (--spam) 4953 sa-learn rc=0 id=uid=3000(vmail) gid=3000(vmail) groups=3000(vmail) HOME= 4953-end
so i tried
22:01 root@effraie01 ~ # sa-learn --username=vmail --backup v 3 db_version # this must be the first line!!! v 0 num_spam v 0 num_nonspam
Read man sa-learn section MIGRATION: "Note that if you have individual user databases you will have to perform a similar procedure for each one of them."
sa-learn --backup > backup.txt
backups the database of one particular user, I assume you use root to issue the command? But is the antispam learning script above runs as root, too?
if i correctly understood what you told me, the sa-learn-pipe (and so sa-learn itself) run as vmail, wich is the global user i use for email. and there is still nothing in sa-learn database. (i dod not have many spam on that server, but still have passed a few to sa-learn via that dovecot-antispam plugin). Maybe everything is normal, but with my low level spamassassin/dovecot comprehension, i think i would have something in sa-learn db.
-- Mathieu R.