sa-learn auf entfernten Server aufrufen

Um die Bayes-Datenbank von Spamassassin auf dem Mailfilterserver vom IMAP-Server zu aktualisieren, wurde folgendes kleines Skript geschrieben:

#!/bin/sh

set -u
set -e

IP=10.11.12.13
User=sa-update

# SPAM
for datei in $( find Maildir/.Spam/cur/ -mindepth 1 ) ; do
    cat $datei | ssh $User@$IP "sa-learn --no-sync --spam" > /dev/null
    rm $datei
done

# HAM, nur der neue seit dem letzten Update
for datei in $( find Maildir/cur/ -mindepth 1 -mmin -65 -name "*S" ) ; do
    cat $datei | ssh $User@$IP "sa-learn --no-sync --ham" > /dev/null
done

ssh $User@$IP "sa-learn --sync" > /dev/null

Das kann für jeden User einmal die Stunde aufgerufen werden, und trainiert dann die Bayes-Datenbank mit den aktuellen Spam, und mit den neuen HAM.

SSH-Login ohne Passworteingabe ist dafür natürlich notwendig. (SSH-Keys nutzen)

Dieser Beitrag wurde unter Internet, Linux, Technik abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.