Lord_Icon
Member
Hi,
ich würde gern die mail.info Einträge in eine DB speichern lassen.
Whistler hat mir schon mal den Tipp über den Sysdaemon gegeben.
Dies ist mir aber zu kompliziert ... sprich: ich bekomme es nicht hin.
Ausserdem bleibt es hier fraglich, wie der syslogdaemon mir das in die DB schreibt. Ergo: mir zu unflexibel.
Meine jetzige Idee geruht nun auf Cron + Script der die Zeilen extrahiert und nach gewissen Regeln in die DB schreibt.
Meine Frage hier ist nun:
Wie erreiche ich das und vermeide doppelte Werte ?
Derzeitig würde ich wie folgt vorgehen:
cp mail.info mail.bak
echo > mail.info
Script ließt nun die mail.bak ein übernimmt die Daten in die DB
rm mail.bak
Mein Problem dabei:
Während des Kopierens + leeren der mail.info vergeht je nach Systemlast 1-2 Sekunden. Hier kann schon ein oder mehrere Einträge durch die Lappen gehen.
Postfix stop // Datei kopieren // Postfix start => sauberes kopieren aber blöd wenn grad eine Mail mit Anhang gesendet wird und ich lasse Postfix stoppen.
Letzte Möglichkeit, die mir Einfällt wäre die mail.info immer komplett einzulesen.
Hierzu müsste ich mir aber "merken" lassen, bis wohin das Script die Datei eingelesen hat... um später von dort aus weiter zu machen.
Allerdings werde ich hier irgendwann auf 2 Probleme stoßen:
1: Nicht gerade Systemfreundlich, da eine recht große Datei eingelesen werden muß.
2: Wenn mir syslog-ng die mail.info packt und eine neue erstellt => sind etliche Datensätze verloren (müsste dann den umständlichen Weg gehen und die gepackten *.gz Datein einlesen)
Sprich = alles nicht grad das wahre.
Hoffe darauf, das einer noch eine bessere Idee hat, die mir bis dato noch nicht in den Sinn gekommen ist.
LG
ich würde gern die mail.info Einträge in eine DB speichern lassen.
Whistler hat mir schon mal den Tipp über den Sysdaemon gegeben.
Dies ist mir aber zu kompliziert ... sprich: ich bekomme es nicht hin.
Ausserdem bleibt es hier fraglich, wie der syslogdaemon mir das in die DB schreibt. Ergo: mir zu unflexibel.
Meine jetzige Idee geruht nun auf Cron + Script der die Zeilen extrahiert und nach gewissen Regeln in die DB schreibt.
Meine Frage hier ist nun:
Wie erreiche ich das und vermeide doppelte Werte ?
Derzeitig würde ich wie folgt vorgehen:
cp mail.info mail.bak
echo > mail.info
Script ließt nun die mail.bak ein übernimmt die Daten in die DB
rm mail.bak
Mein Problem dabei:
Während des Kopierens + leeren der mail.info vergeht je nach Systemlast 1-2 Sekunden. Hier kann schon ein oder mehrere Einträge durch die Lappen gehen.
Postfix stop // Datei kopieren // Postfix start => sauberes kopieren aber blöd wenn grad eine Mail mit Anhang gesendet wird und ich lasse Postfix stoppen.
Letzte Möglichkeit, die mir Einfällt wäre die mail.info immer komplett einzulesen.
Hierzu müsste ich mir aber "merken" lassen, bis wohin das Script die Datei eingelesen hat... um später von dort aus weiter zu machen.
Allerdings werde ich hier irgendwann auf 2 Probleme stoßen:
1: Nicht gerade Systemfreundlich, da eine recht große Datei eingelesen werden muß.
2: Wenn mir syslog-ng die mail.info packt und eine neue erstellt => sind etliche Datensätze verloren (müsste dann den umständlichen Weg gehen und die gepackten *.gz Datein einlesen)
Sprich = alles nicht grad das wahre.
Hoffe darauf, das einer noch eine bessere Idee hat, die mir bis dato noch nicht in den Sinn gekommen ist.
LG