Partnerlinks:
Google

www.linux-club.de/ sehr aktives und kompetentes Board m. Fragen u. Antworten rund um Linux  |  www.linux-board.de/ privates Board m. Fragen u. Antworten rund um Linux  |  meybohm bei viando.de gute Tools - u.a. "Phase 5 / HTML Editor" mein Lieblings-HTML-Editor und "Proton" - guter Texteditor www.meybohm.de  |  Wunsch-Domain schon belegt? Hier finden Sie sie trotzdem!   |  Webhosting beim Testsieger 2007. www.greatnet.de  | 
Host Europe - World Class Internet Hosting
 

  Ein Pinguin-Logo    
news About Me linux referenz tips links downloads kontakt
 
News
About
Linux
Referenz
Tips
  Linux
  Sicherheit
  Perl
  Allround Server
  Fileserver Samba
  HTTP-Server
  Zope-Server
  SQL-Server
  Mail-Server
  Proxy_Server
  FAX-Server
  Netzwerk-Tools
  SMS-Tools
  Postscript
  MS Office
Links
Downloads
Kontakt

Besucher
seit 21.10.2002
 
Mein Gästebuch
 

Mail-Server -> Teil 3

Fetchmail - Für Flatrate als Daemon starten

1. Allgemeine Einführung

Wenn man eine Flatrate hat und die Möglichkeit in kurzen Abständen nach seinem Postfach zu schauen will man nicht bei jedem Neustart oder Reboot Fetchmail mit diesem Befehl starten:

    fetchmail -d 300 -f /etc/fetchmailrc -a -v -L /var/log/fetchmail

    # -d 300 : als Daemon starten, aller 300 s
    #          Mails (beim Provider?!) abholen
    # die anderen Optionen müssten bekannt sein
Bei meinem SuSE war aber keine andere Möglichkeit dafür vorgesehen. Deshalb versuchte ich aus den bestehenden Startup-Scripts in /etc/init.d eine Möglichkeit des Startens bei einem bestimmten "runlevel" zu "basteln".

2. Konfiguration

2.1. START|STOP-Datei /usr/local/bin/fetchmaild erstellen

Als erstes erzeugte ich unter /usr/local/bin (ihr könnt diesen Speicherort auch ändern, müßt dann nur die "Links" entsprechend anpassen) die Datei "fetchmaild" mit folgendem Inhalt:

#!/bin/sh
# Beenden und Neustarten der Fetchmail-Daemons per init.d
#
. /etc/rc.config
FETCH_BIN=/usr/bin/fetchmail
FETCH_CONF=/etc/fetchmailrc
FETCH_LOG=/var/log/fetchmail

base=${0##*/}
link=${base#*[SK][0-9][0-9]}

test $link = $base && START_FETCH_DAEMON=yes
test "$START_FETCH_DAEMON" = yes || exit 0

if [ ! -x $FETCH_BIN ] ; then
    echo -n "Fetchmail-Program nicht installiert ! "
    exit 5
fi

. /etc/rc.status
rc_reset

case "$1" in
    start)
    echo -n "Starte FETCHMAIL als Daemon "
    checkproc $FETCH_BIN
    if [ $? -eq 0 ] ; then
        echo -n "- Warnung: FETCHMAIL laeuft bereits ! "
        rc_status -v && rc_exit
    fi
    startproc $FETCH_BIN -d 300 -f $FETCH_CONF -a -v -L $FETCH_LOG
    rc_status -v
    ;;
    stop)
    echo -n "Beende FETCHMAIL - Daemon ! "
    checkproc $FETCH_BIN || echo -n "- Warnung: FETCHMAIL laeuft nicht ! "
    killproc -TERM $FETCH_BIN
    rc_status -v
    ;;
    restart)
    $0 stop
    $0 start
    rc_status
    ;;
    status)
    echo -n "Pruefe auf: FETCHMAIL - Daemon ! "
    checkproc $FETCH_BIN
    rc_status -v
    ;;
    *)
    echo "Verwendung: $0 {start|stop|restart|status} "
    exit 1
    ;;
esac
rc_exit


#/usr/bin/fetchmail -q    # Beenden des laufenden Fetchmail-Daemons

# Starten von Fetchmail als Hintergrundprozess
#/usr/bin/fetchmail -d 300 -a -f /etc/fetchmailrc
# >> /var/log/fetchmail

2.2. "Links" auf START|STOP-Datei setzen

Als nächstes setzt ihr einen "Softlink" von dieser Datei nach /etc/init.d/fetchmaild damit die Links in den "Runlevel" standardmäßig dorthin zeigen können.Setzen des Links:

    ln -s /usr/local/bin/fetchmaild /etc/init.d/fetchmaild
Im MidnightCommander (mein Lieblingswerkzeug) geht dasselbe, wenn ihr euch im Quellverzeichnis befindet (Cursor auf der zu verlinkenden Datei), in der anderen Fensterhälfte das Zielverzeichnis habt und [STRG+X] gefolgt von [S] drückt. Hier braucht dann nur noch der Name des Links eingegeben werden.

Von dem Link unter /etc/init.d kann man noch einen Link nach /sbin/rcfetchmaild setzen, um das Script auch mal einfach von Hand aufrufen zu können (rcfetchmaild start|restart|stop|status).

Wichtig sind die nun zu setzenden Links von /etc/init.d/fetchmaild in die gewünschten "Runlevel" - bei mir sind das rc3.d sowie rc5.d. Hier müssen ein "START-" und ein "KILL-Link" gesetzt werden (Start vor Sendmail und beenden nach Sendmail). Somit ergeben sich die Links:

  • ln -s /etc/init.d/fetchmaild /etc/init.d/rc3.d/S10fetchmaild
  • ln -s /etc/init.d/fetchmaild /etc/init.d/rc3.d/K14fetchmaild
  • ln -s /etc/init.d/fetchmaild /etc/init.d/rc5.d/S10fetchmaild
  • ln -s /etc/init.d/fetchmaild /etc/init.d/rc5.d/K14fetchmaild

2.3. /etc/rc.config anpassen

Da das "START|STOP-Script" (bei SuSE) standardmäßig in der Datei /etc/rc.config nachsieht, ob eine entsprechende Variable (hier START_FETCH_DAEMON=yes) auf "yes" gesetzt ist, muß diese Variable auch in /etc/rc.config eingefügt werden.

Das könnt ihr von Hand machen oder ihr ladet euch die Datei rc.config.fetchmail herunter und fügt den Inhalt folgendermaßen an /etc/rc.config an:

    cat /scripts/rc.config.fetchmail >> /etc/rc.config

Als ersten Test kann man nun von Hand die verschiedenen Optionen (START|RESTART|STOP|STATUS) ausprobieren. Beim nächsten Reboot/Neustart sollte "fetchmail" automatisch gestartet werden.


   
Mailserver (1)
Sendmail
Allgemeines
Installation
Konfiguration
Tip für Flatrates
Erster Test
Mailserver (2)
Mails abholen
Allgemeines
Konfiguration
Mailserver (3)
Fetchmail für Flatrate
Allgemeines
Konfiguration
Mailserver (4)
Spambekämpfung
Allgemeines
Auswege
 
©  09.09.2009  Heiko Teichmeier - Glauchau/Sa.