![Kann ich das Versenden kritischer Fehler per E-Mail mit dem Systemd-Journal automatisieren?](https://rvso.com/image/623633/Kann%20ich%20das%20Versenden%20kritischer%20Fehler%20per%20E-Mail%20mit%20dem%20Systemd-Journal%20automatisieren%3F.png)
Fedora OS führt journalctl
eine neue Möglichkeit zum Protokollieren von Fehlermeldungen ein. Ich habe kürzlich davon erfahren, als ich ein Upgrade durchgeführt habe. var/log/messages
und viele andere Protokolldateien werden jetzt in einer .journal
Datei innerhalb des var/log/journal
Verzeichnisses kombiniert.
Ich habe ein benutzerdefiniertes Protokoll, das speziell zum Protokollieren kritischer Fehler mit dem alten erstellt wurde rsyslog
:
*.crit /var/log/critical/log
Diese Datei wird mir per E-Mail zugeschickt und stündlich per Cron-Job rotiert, solange ein Fehler auftritt. Wie würde das nun mit gemacht journalctl
? Die Optionen in journald.conf
scheinen ziemlichbegrenzt. Muss ich rsyslog
das immer noch tun?
Antwort1
Dieser Befehl erzeugt eine ähnliche Ausgabe
journalctl --since="$(date '+%Y-%m-%d %H:%M:%S' -d '1 hour ago')" --priority=crit --quiet
Antwort2
FWIW: Ich habe ein kleines Programm namens „journal-brief“ geschrieben, um einen Überblick über die Journalmeldungen seit seiner letzten Ausführung zu geben.
https://github.com/twaugh/journal-brief
Wenn Sie es von cron aus ausführen (z. B. journal-brief -p err), wird Ihnen die Ausgabe per E-Mail zugeschickt.
Es speichert den Journalcursor und merkt sich so die zuletzt gelesenen Einträge, sodass keine doppelten Protokolleinträge gesendet werden.