• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

fetchmail zeitgesteuert alle 10 Min starten?

Status
Für weitere Antworten geschlossen.

tux

Newbie
Hallo,
kann mir jemand sagen wie ich fetchmail so konfiguerieren kann dass es zum Beispiel alles 10 min nach neuen Mails schaut?
Habe einen Emailaserver gemacht mit mehreren Emailadressen und die soll er alle 10 min überprüfen.

Danke

Gruß tux
 

moenk

Administrator
Teammitglied
Ich hab bei mir sowas als /etc/crontab reingehackt:
Code:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * *   root  test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
20 *  * * *     moenk  /usr/bin/fetchmail >/dev/null 2>&1
59 *  * * *     root  rm -f /var/spool/cron/lastrun/cron.hourly
14 0  * * *     root  rm -f /var/spool/cron/lastrun/cron.daily
29 0  * * 6     root  rm -f /var/spool/cron/lastrun/cron.weekly
44 0  1 * *     root  rm -f /var/spool/cron/lastrun/cron.monthly
0 13  * * *     root /sbin/winpopup.sh Mittagspause! >/dev/null 2>&1
Das ist zwar quick-and-dirty funktioniert aber seit langer Zeit gut und Du kannst es so anpassen wie Du es haben willst. Die .fetchmailrc liegt dabei in meinem Homeverzeichnis. Der holt jede Stunde bei Minute 20 die Post, der erste Eintrag zeigt wie man jede Viertelstunde Post holen könnte.
 
OP
tux

tux

Newbie
Hallo moenk,
kann das auch so funktionieren?
/usr/bin/fetchmail 2>&1
(so holt er die Mails auch ab und ich seh eine Status (im webminmodul))

oder muss es so heissen:
/usr/bin/fetchmail >/dev/null 2>&1
(So seh ich keinen Status im webminmodul)

Gruß tux
 

moenk

Administrator
Teammitglied
Ich will keine Fehlermeldungen sehen, ich bekomme sonst so viele Mails. Mach das so dass es läuft und Du zufrieden bist, dann ist doch alles in Ordnung.
 

ben

Newbie
Hi Tux,

bei mir läuft folgendes in der /etc/crontab:

# Mailabruf und -versand alle 10 Minuten
1,11,21,31,41,51 * * * * root fetchmail -k && sendmail -q

Sendmail immer nach(!) fetchmail anwenden, weil viele Provider/Mailserver bei POP3-Postfächern das Mail-login also autentifizierung nutzen, und Du nur so mails abschicken darfst. Ferner habe ich 2 Accounts auf dem Rechner und lasse fetchmail unter 'root' laufen - nur so werden alle Mails richtig verteilt.

Gruß von Ben
 

Elby

Member
Hallo moenk,

du willst keine Meldungen vom Cron! Wenn ich aber nur Fehlermeldungen haben will, wie stell ich das denn ein. Mich stören nämlich auch diese tausende von Mails!

Kennst du da ne Lösung?



Gruß Elby
 

selektor

Newbie
Hi @all !

Man kann <fetchmail> auch als Dienst starten:

fetchmail -d 600

holt z. Bsp. alle 600s (10 Min.) die Mails ab.

Mit
fetchmail -q
kann man den Dienst beenden.

Nachteil:

Nach einem Reboot fehlt der Dienst und man muss ihn erneut von Hand starten, deshalb ist die Cron-Variante besser.

Gruß
Chris
 

Marvin

Newbie
Wenn man jedoch kein Script einsetzen möchte und es einfach nur darum geht fetchmail regelmäßig auszuführem, dann kann man dies auch in die Fetchmail Configurationsdatei reinschreiben.

Dazu ruft man sich am besten den Konqueror als "su" (root) auf.
Dies geht ab SuSE 9.0 sehr einfach über das SuSE Menue
SuSE/System/Dateiverwaltung/Konqueror(Systemverwaltungs-Modus)

Nun geht man in /etc und sucht die Datei /etc/fetchmailrc
Hat man die Datei gefunden, ruft man via rechts klick auf die Datei das Contexmenue auf und wählt "öffnen mit" Kwrite (z.B.).
Nun kann man die Datei editieren.

Die von Yast erstellte Datei besteht bei nur einem e-mail Account aus zwei Zeilen.
Die erste Zeile beginnt mit # und einem Hinweis,gefolgt von der eigentlichen Account Zeile, beginnent mit "poll".
Nun fügt man zwischen diese beiden Zeilen noch zwei zusätzliche Zeilen ein. Zuerst eine Leerzeile (bin mir nicht sicher ob diese nötig ist
aber sie stört auch nicht und es funktioniert), und darauf eine Zeile mit dem Hinweis für fetchmail den Daemon regelmäßig auszuführen.
Der Befehl für Fetchmail lautet "set daemon" und die darauf folgende Zeitangabe wird in sekunden angegeben. Das ganze sieht dann im Ergebniss so aus :

#Grüße von Yast, handle with care ... ;-)

set daemon 300
poll "" protocoll "" : user "" there with password "" is "" here ;

Die Änderung der Datei ist vor dem schließen zu sichern bzw die Frage danach positiv zu beantworten.
Zu guter letzt startet man noch mal fetchmail durch damit die Änderungen wirksam werden.
Hierzu ruft man sich ne console auf und meldet sich als su (root) an.
Dazu giebt man folgendes ein.
su (enter)
dann das root passwort (wird per default während der Eingabe nicht angezeigt, daher nicht wundern) >bestätigen mit Enter
und dann den eigentlichen Befehl zum "Restart" von fetchmail.
rcfetchmail restart (Enter)
Das wars, nun holt fetchmail bei offner Verbindung alle x-sekunden Eure Mails von dem unter "poll" konfigurierten Account.
Noch ein Hinweis.
Da die von uns eingefügte Zeile Yast nicht vertraut ist (sehr bedauerlich) und daher Yast nach der ersten Zeile die Poll Zeile erwartet, wird yast das configfile von fetchmail bei einem erneuten Aufruf von Yast mit der Absicht einen weiteren Account hinzuzufügen
ungünstig verändern. Daher ist es besser weitere Accounts nach dem
bekannten Muster einfach selbst in die Datei einzufügen.

Gruß an alle "have fun"
marvin
 

Elby

Member
Hallo Marvin,

wie ist das aber mit dem Mailversenden. Mir reicht es, wenn die Mails alle 10min geholt werden, aber versenden sollte sofort geschehen, sonst liegen die ja nur auf dem Mailserver rum!

Gruß Elby
 

Elby

Member
Hallo Marvin,

wie ist das aber mit dem Mailversenden. Mir reicht es, wenn die Mails alle 10min geholt werden, aber versenden sollte sofort geschehen, sonst liegen die ja nur auf dem Mailserver rum!

Gruß Elby
 
Marvin schrieb:
#Grüße von Yast, handle with care ... ;-)

set daemon 300
poll "" protocoll "" : user "" there with password "" is "" here ;

Hi,

soweit so gut. kann man das aber auch so konfigurieren, dass fetchmail die emails NICHT vom mailserver löscht?
 
moenk schrieb:
Such mal in "man fetchmail" nach "keep".

Hi moenk,

danke für den Tipp. Habe -k in init.d eingetragen - und es funktioniert! Leider muss ich nun auf fetchall verzichten, da sich das wohl mit keep nicht verträgt. :( (Fehlermeldung: Starting fetchmailSowohl ?fetchall? als auch ?keep? anzuschalten ist im Daemon-Modus ein Fehler!) Aber damit kann ich leben.
 

Rotznase

Member
Hi

wenn man keine Fehlermeldung von Cronjob haben möchte, dann einfach

MAILTO=" "

über den Eintrag schreiben, von dem man sonst eine Meldung bekommt.


Rotznase
 
Status
Für weitere Antworten geschlossen.
Oben