tail und grep log und mail (linux)

8

Ich möchte die Protokolldatei mit grep beenden und per Mail versenden wie:

%Vor%

Wie kann ich das tun?

    
askaquestion 11.01.2011, 11:03
quelle

2 Antworten

17

Sie möchten eine E-Mail senden, wenn E-Mail-Fehler auftreten? Das könnte scheitern;)

Sie können jedoch Folgendes versuchen:

%Vor%

Was für jede Zeile in der Grep-Ausgabe eine E-Mail sendet.

Führen Sie das Shell-Skript mit

aus %Vor%

damit es im Hintergrund weiterläuft.

    
Marcus Borkenhagen 11.01.2011 12:49
quelle
2

Ich werde es versuchen. Vielleicht werde ich etwas lernen, wenn mein icky bash Code überprüft wird. Es gibt eine Chance, dass es bereits eine gigantische Lösung dafür gibt, aber ich werde es nicht herausfinden, da ich sicher bin, dass Sie die Tiefen und Breiten des Cyberocean durchforstet haben. Es klingt wie, was Sie wollen, kann in zwei Bits getrennt werden: 1) In regelmäßigen Abständen erhalten Sie den "neuesten Schwanz" der Datei, 2) Wenn der letzte Schwanz tatsächlich existiert, senden Sie es per E-Mail. Verwenden Sie für die regelmäßigen Intervalle in 1) cron. Um den neuesten Tail in 2) zu erhalten, müssen Sie die Dateigröße verfolgen. Das Bash-Skript unten macht das - es ist eine Lösung für 2), die von Cron aufgerufen werden kann. Es verwendet die zwischengespeicherte Dateigröße, um den Chunk der Datei zu berechnen, die zum Senden benötigt wird. Beachten Sie, dass für eine Datei myfile eine andere Datei .offset.myfile erstellt wird. Außerdem erlaubt das Skript keine Pfadkomponenten im Dateinamen. Schreibe es neu oder korrigiere es im Aufruf [z. (cd / foo / bar & amp; & amp; segtail.sh zut), angenommen, es heißt sgtail.sh].

%Vor%     
micans 11.01.2011 12:49
quelle

Tags und Links