[Technik] Aus Support: spamd-Problem

Christof Thalhofer chrisml at deganius.de
Thu Jun 26 16:13:31 CEST 2008


Hallo Michael Hierweck,

das ist mir in Support aufgefallen:

>> auf h02 scheint der spamd nicht zu funktionieren bzw. überlastet zu 
>> sein, denn seit gestern Nachmittag kommt der gesamte Spam ohne vom spamd 
>> gescannt zu sein durch. Ich vermute, daß procmail nach einem Timeout die 
>> Mails, ohne daß sie gescannt worden sind, zustellt.
>>
>> Könnt ihr danach schauen.
> 
> Stimmt, das klemmte: ich habe spamd neu gestartet.
> 
> Vielen Dank für den Hinweis und viele Grüße

Man könnte spamd und andere wichtigen Prozesse über runit starten, dann
wird der jeweilige Prozess überwacht und wenn er nicht mehr existiert,
von neuem gestartet.

Ich habe auf meinen Servern stattdessen einen kleinen Skript, der den
Output von ps überwacht und bei Nichtvorhandensein eines Daemonprozesses
diesen neu startet.

/usr/local/bin/restartdaemons:

<schnipp>

#! /bin/bash





conf=/etc/example.com/restartdaemons





for such in $(cat $conf | grep -v "#" | grep -v ^$ | sed s/"\s.*"//)


do




    line=$(grep $such $conf)


    ergebnis=$(ps -ef | grep -v grep | grep -c $such)



    #zum debuggen
    #echo suche $such : ergebnis: $ergebnis








    if [ $ergebnis -eq 0 ]


    then




        startcmd=$(echo $line | awk '{print $2}')



        logger $startcmd musste neu gestartet werden


        /etc/init.d/$startcmd restart


       echo $startcmd musste auf $(hostname -f) neu gestartet werden | \
	mailx -s "Neustart auf $(hostname)" hostmaster at example.com
    fi


done

<schnapp>

In /etc/example.com/restartdaemons stehen alle Daemons, die überwacht
werden müssen mit ihren Startbefehlen:

<schnipp>

#Diese daemons werden, wenn sie in der


#prozessliste nicht gefunden werden,


#automatisch per cron neu


#gestartet


#


#suchbegriff    (/etc/init.d)neustartbefehl





spamd           spamassassin


pop3d-ssl       courier-pop-ssl


authdaemond     courier-authdaemon


sshd            ssh


postfix         postfix


saslauthd       saslauthd


clamav          clamav-daemon


fail2ban-server fail2ban

<schnapp>

/usr/local/bin/restartdaemons wird von cron alle 5 Minuten aufgerufen

Das ist recht einfach und funktioniert bei mir seit Jahren problemlos.

Alles Gute

Christof Thalhofer
-- 





More information about the Technik mailing list