Quelle est la meilleure façon de supprimer un fichier pid_file amavisd obsolète au premier démarrage après une panique ou une panne de courant?


3

Composant Lion Mail Server postfix / smtp 100% reproductible bloque la livraison du courrier smtp entrant au premier démarrage après une panne d'alimentation ou une panique.

Les messages d'erreur de mail.log sont comme:

postfix/smtp[45785]: connect to 127.0.0.1[127.0.0.1]:10024: Connection refused
postfix/smtp[45785]: 2F7131F9A97: to=<user@host.tld>, relay=none, delay=76041, delays=76040/0.36/0.05/0, dsn=4.4.1, status=deferred (connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)
postfix/error[45790]: 550D61F9A99: to=<user@host.tld>, relay=none, delay=76040, delays=76040/0.39/0/0, dsn=4.4.1, status=deferred (delivery temporarily suspended: connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)
postfix/postscreen[45872]: NOQUEUE: reject: RCPT from [100.200.100.159]:65392: 450 4.3.2 Service currently unavailable; from=<user2@host2.tld>, to=<user@host.tld>, proto=ESMTP, helo=<host.domain.tld>
/usr/libexec/postfix/greylist.pl[45885]: Temporary message rejection to: <user@host.tld> from: <user2@host2.tld> sent from: [100.200.100.159] for: 60 seconds due to greylisting
postfix/smtpd[45879]: NOQUEUE: reject: RCPT from host.domain.tld[100.200.100.159]: 450 4.7.1 <user@host.tld>: Recipient address rejected: Service is unavailable; from=<user2@domain2.tld> to=<user@domain.tld> proto=ESMTP helo=<host.domain.tld>

La question semble être liée à la Amavis filtre de contenu en raison de la connexion au port numéro 10024 et de la configuration de amavisd sur ce port. Amavis.log:

/usr/bin/amavisd[236]: (!)Net::Server: 2012/07/25-13:38:49 Pid_file already exists for running process (88)... aborting\n\n  at line 277 in file /System/Library/Perl/Extras/5.12/Net/Server.pm
...
/usr/bin/amavisd[236]: Net::Server: 2012/07/25-13:38:49 Server closing!
...repeating roughly every 10 seconds...

le solution de contournement est de redémarrer la machine, après le deuxième démarrage, la livraison du courrier smtp entrant n'est plus bloquée.

Le problème semble être relatif à https://serverfault.com/questions/138690/amavisd-net-server-pid-file-already-exists-after-system-crash-and-startup

Comment réparer en permanence Apple Mail Server acceptera-t-il les messages entrants smtp lors du premier démarrage, en supprimant le fichier pid_file amavis restant lors du dernier arrêt non nettoyé?

Réponses:


1

Créez un élément launchd qui s'exécute au démarrage (démarrage du système avant le démarrage d'amavisd) en exécutant la commande pour vérifier que /private/var/run/amavisd.pid existe, puis supprimez-le:

if test -f /private/var/run/amavisd.pid; then rm /private/var/run/amavisd.pid

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>amavisd_delete_pid</string>
    <key>ProgramArguments</key>
    <array>
        <string>if</string>
        <string>test</string>
        <string>-f</string>
        <string>/private/var/run/amavisd.pid;</string>
        <string>then</string>
        <string>rm</string>
        <string>/private/var/run/amavisd.pid</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>Nice</key>
    <integer>10</integer>
    <key>KeepAlive</key>
    <false/>
    <key>AbandonProcessGroup</key>
    <true/>
</dict>
</plist>
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.