LINUX.ORG.RU
решено ФорумAdmin

[spamassasin] sa-learn --spam/--ham в необученный sa и BAYES_xx


0

1

возникла необходимость очистить текущую базу sa и заново натравить на письма, которые он либо ошибочно определял спамом, либо ошибочно пропускал, не определяя как спам:

# su amavis -c "sa-learn --clear"
# su amavis -c "sa-learn --ham /var/vmail.ham/"
# su amavis -c "sa-learn --spam /var/vmail.spam/"

проверил:

# su amavis -c "sa-learn --dump magic"
0.000          0          3          0  non-token data: bayes db version
0.000          0        329          0  non-token data: nspam
0.000          0         12          0  non-token data: nham
0.000          0      54994          0  non-token data: ntokens
0.000          0 1277081269          0  non-token data: oldest atime
0.000          0 1288147040          0  non-token data: newest atime
0.000          0          0          0  non-token data: last journal sync atime
0.000          0 1288149903          0  non-token data: last expiry atime
0.000          0          0          0  non-token data: last expire atime delta
0.000          0          0          0  non-token data: last expire reduction count

после этого sa стал пропускать письма, которые раньше успешно определял как спам

заголовки практически идентичного письма до вышеперечисленных действий:

...
X-Spam-Status: Yes, score=9.381 required=6.31 tests=[BAYES_99=6.5,
    DOS_HIGHBIT_HDRS_BODY=1, HTML_MESSAGE=0.001,
    HTML_TAG_BALANCE_BODY=1.157, MIME_HTML_ONLY=0.723] autolearn=no
...

и после:

...
X-Spam-Status: No, score=2.818 required=6.31 tests=[DOS_HIGHBIT_HDRS_BODY=1,
    HTML_MESSAGE=0.001, HTML_TAG_BALANCE_BODY=0.712, MIME_HTML_ONLY=1.105]
    autolearn=unavailable
...

проанализировав заголовок «X-Spam-Status» в остальных письма, выяснил что в них пропали оценки BAYES_xx.

поясните пожалуйста, с чем это связано и как вернуть былые знания, имея только файлы спама/хама без базы sa?

з.ы.: часть конфига sa, касательно Bayesian classifier:

use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
bayes_auto_expire 0
bayes_auto_learn_threshold_spam 10
bayes_auto_learn_threshold_nonspam -2


Ответ на: комментарий от cac2s

хм. остановил amavisd, spamd остался висеть в процессах... перезапустил и его. буду поглядывать за результатами...

cac2s ()
Ответ на: комментарий от Nastishka

дело в том, что связка postfix+amavis[sa+clamav]+dovecot отрабатывает нормально (исходя из логов). никаких ошибок в упор не вижу. вот только пропали как их там... в общем BAYES_nn=... больше не появляются в заголовках. как-будто «use_bayes 0». хотя в конфиге явно «1»

ладно. рестартанул sa (надеюсь, причины была в этом). пронаблюдаю - отпишу

cac2s ()

похоже, что не помог рестарт sa. в новопришедшем спаме:

X-Spam-Status: Yes, score=9.286 required=6.31 tests=[DOS_HIGHBIT_HDRS_BODY=1,
    FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RAZOR2_CHECK=2,
    RCVD_IN_RP_RNBL=1.284, SPF_SOFTFAIL=5] autolearn=no
если бы не SPF - попало бы во входящие.

и так, вопрос остается открытым...

cac2s ()
Ответ на: комментарий от cac2s

кажется, разобрался...

# su amavis -c "spamassassin -D --lint 2>&1 | egrep -i 'bayes|error|warn|fail'"
...
...
Окт 27 14:51:10.638 [2460] dbg: bayes: found bayes db version 3
Окт 27 14:51:10.639 [2460] dbg: bayes: DB journal sync: last sync: 0
Окт 27 14:51:10.639 [2460] dbg: bayes: not available for scanning, only 15 ham(s) in bayes DB < 200
...
...
spamassassin'у не хватает ham-писем, чтобы использовать bayes...

в общем, как всегда: «а ларчик просто открывался»

выполнив

# su amavis -c "sa-learn --clear"
я полностью очистил базу.

теперь sa'ну нужно было повторно скормить не меньше 200 (по умолчанию) и spam-, и ham-писем... и если спамных я подсунул ему около 300, то ham-писем насчитывалось только 11. (те что он раньше распознал как спам, а это были нужные рассылки)

FIXED

cac2s ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.