fetchmail: Skript für mehrere Benutzer

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
thilo
Posts: 21
Joined: 2008-01-06 22:27
 

fetchmail: Skript für mehrere Benutzer

Post by thilo »

Hallo zusammen,

unser lokaler Mailserver ruft Mails per pop3 vom Provider ab, läuft per cron mit .netcr-Datei je Benutzer.
Problem: Da die cronjobs alle gleichzeitig ausgelöst werden, kommt es bei einigen accounts zu folgendem Fehler:

Code: Select all

fetchmail: Query status=2 (SOCKET)
Stosse ich die cronjobs manuell an, ist alles in Butter

Meine Idee: Ein Skript, das die accounts nacheinander abfragt, in etwa so:

Code: Select all

#/bin/sh
su user1
/usr/bin/fetchmail -k -p pop3 -S localhost --smtpname user1@example.com -u user1@example.com pop3.example.com
exit
su user2
/usr/bin/fetchmail -k -p pop3 -S localhost --smtpname user2@example.com -u user2@example.com pop3.example.com
exit
echo fetchmail fertig
Das funktioniert so natürlich nicht, da die Logindaten fehlen. Leider ist mein Wissen da recht übersichtlich... :)

Wie binde ich die Logindaten ein?

Besten Dank
Thilo
thilo
Posts: 21
Joined: 2008-01-06 22:27
 

(geloest) Re: fetchmail: Skript für mehrere Benutzer

Post by thilo »

Habs selbst entdeckt:

Man legt einen Extra-Benutzer an, der nur fetchmail ausführt (im Prinzip geht jeder Benutzer, root aber natürlich vermeiden), erstellt in dessen Heimverzeichnis alle Logindaten für alle Benutzer (einfach den Inhalt aller .netrc- bzw. fetchmailrc-Benutzerdateien aneinanderreihen) und erstellt einen Cronjob als dieser Benutzer, in dem alle einzelnen Fetchmailaufrufe ebenso aneinandergereiht sind.

Dann werden alle Konten der Reihe nach abgefragt und einsortiert, ohne Fehlermeldungen wegen gleichzeitig laufender Fetchmailinstanzen :)