Logfile bei Änderung per Mail senden

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Guten Morgen @all,

    ich hab wieder eine kleine Frage an euch, bei der ich nicht so richtig weiter komme... Ich würde gern eine eMail (pi2 / aktuelles raspian image) versenden, sobald sich der Inhalt eines Logfiles ändert. Der Mailversand ansich via ssmtp funktioniert bereits.

    Code
    #/bin/sh
    tail -f -n0 /var/log/openvpn-status.log | while read line; do
      echo $line;
      mail -r absender@gmx.de -s "OPENVPN Nutzer entdeckt" -a /var/log/openvpn-status.log -- empfaenger@gmx.de;
    done

    Kann da jemand mal drüber schauen, warum es nicht läuft?

    gestartet wird das Skript via sudo /home/pi/skripte/checklog.sh &

    Grüße M.

  • Code
    #/bin/sh
    tail -f -n0 /var/log/openvpn-status.log | while read line; do
      echo $line;
      mail -r absender@gmx.de -s "OPENVPN Nutzer entdeckt" -a /var/log/openvpn-status.log -- empfaenger@gmx.de;
    done

    Versuch mal mit:

    Bash
    #!/bin/sh
    tail -f -n0 /var/log/openvpn-status.log | while read line; do
      echo $line;
      mail -r absender@gmx.de -s "OPENVPN Nutzer entdeckt" -a /var/log/openvpn-status.log -- empfaenger@gmx.de &
    done


    (siehe shebang und das Ende der Zeile mit mail).

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Hallo rpi444,

    das schaut schon gut aus. Nun erhalte ich 4-5 Nachrichten, weil sich ja Datum und Uhrzeit auch ändern. Gibt es eine Möglichkeit hier irgendwo ein sleep von 90 Sekunden einzubauen, sodass nur alle 90 Sekunden auf Änderungen geprüft wird?

    Alternativ habe ich folgenden Web probiert, das klappt aber leider nicht...

    Bash
    #!/bin/sh
    tail -f -n0 /var/log/openvpn-status.log | grep 192.168.111 | while read line; do
      mail -r abesender@gmx.de -s "OPENVPN Nutzer aktiv" -a /var/log/openvpn-status.log -- empfaenger@gmx.de &
    done

    Einmal editiert, zuletzt von Micky (14. Mai 2015 um 12:14)


  • Nun erhalte ich 4-5 Nachrichten, weil sich ja Datum und Uhrzeit auch ändern.

    Wie schauen die Eintragungen (Zeilen) in der log-Datei aus, die diese 4-5 Nachrichten generieren/verursachen?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Es ändert sich im Logfile ja immer das Datum/Uhrzeit/Anzahl Bytes, daher erhalte ich 5 eMails. Also habe ich mit grep versucht nur die Zeile mit den IP Adressen zu ermitteln... Der Aufruf von

    Code
    sudo tail -f /var/log/openvpn-status.log | grep 192.168.111

    bringt auch nur die gewünschte Zeile, nur meine Versuche dies mit "while read line " zu kominieren klappte nicht ;(

    aktuell versuche ich es über diesen Weg, leider auch ohne Erfolg:

    Bash
    #!/bin/bash
    tail -f /var/log/openvpn-status.log | grep 192.168.111
    while read line
    do
       mail -r absender@gmx.de -s $line -- empfaenger@gmx.de &
    done

    Einmal editiert, zuletzt von Micky (14. Mai 2015 um 13:32)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!