Hallo ratti, Jetzt wird der Thread ja noch richtig sinnvoll *lol* Am Mon, 17 Nov 2003, Joerg Rossdeutscher schrieb:
Das Problem ist nur: Wenn im gleichen Augenblick fetchmail Post abholt, dann würde zwei Prozesse gleichzeitig Daten in das Postfach schreiben, und zwar vermutlich durcheinander. Deswegen mache ich das nur, wenn ich weiss, daß der Rechner offline ist. Natürlich könnte immer noch was querschiessen, cronjobs zum Beispiel, aber auf meinem ein-einziger-Client-Server ist das eine akzeptable Lösung. Anonsten könnte man die Nachrichten auch anders anschieben, z.B. mit formail.
Du koenntest auch beim ausfiltern mit formail nen X-Header setzen und dann die mails mit Header per procmail in die normale inbox sortieren. Via lock-Datei duerfte das sogar dann klappen, wenn gleichzeitig fetchmail (oder der MTA) dem procmail frische Mails verfuettert. Allerdings muss man noch dafuer sorgen, dass die "quelldatei" (plonked) nicht neue Mails erhaelt, was sich durch ein locken, kopieren, leeren und unlocken machen liesse (spezifiziere in der procmailrc ein explizites lockfile fuer die plonk datei, z.B. plonk.lock) und dann in etwa folgendes script: ==== resort-plonked.sh [UNGETESTET!] ==== MBOX="/home/ratti/plonk" LOCKFILE="/home/ratti/plonk.lock" trap "release_lock; exit 2;" 1 2 3 4 6 7 8 10 11 12 13 14 15 17 acquire_lock() { test -e "$LOCKFILE" && exit 37 echo $$ > "$LOCKFILE" } release_lock() { if test -r "$LOCKFILE" && test `cat "$LOCKFILE"` -eq $$ then rm -f "$LOCKFILE" else exit 1 fi } acquire_lock if cp "$MBOX" "${MBOX}.work" then > "$MBOX" else release_lock test -f "${MBOX}.work" && rm -f "${MBOX}.work" exit 1 fi release_lock if cat "${MBOX}.work" | procmail then rm -f "${MBOX}.work" fi ==== ==== ~/.procmailrc ==== :0 H * ^X-Plonked-Seen: ratti@localhost inbox :0 H: /home/ratti/plonk.lock * ? (formail -x From: -x Sender: -x Reply-To: -x Received: | fgrep -iqf $PLONK) { :0 fw | formail -i "X-Plonked-Seen: ratti@localhost" :0 /home/ratti/plonk } ==== Als Namen des Headers und fuer das "Token" im Header solltest du dir evtl. was besseres ausdenken ;) Und auf Faelschungen kannst du reagieren, in dem du auf 'Old-X-Plonked-Seen' testest (siehe man formail, vgl. -a, -A, -i, -I)... HTH, -dnh -- 90: WWW Interaktives Echtzeit-Herumstochern in einer Informationssuppe. (Jochem Huhmann)