12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #!/bin/sh
- # journalogs - evaluate system JOURNALD
- #------------------------------------------------
- # http://www.wyae.de/software/journalogs
- # https://github.com/wyae/journalogs
- # 2015- by Volker Tanger <volker.tanger@wyae.de>
- #
- # Licensed under the EUROPEAN UNION PUBLIC LICENCE v. 1.2 (or later)
- # This is free software - see attached file LICENSE_EUPL-1.2_EN.txt
- # and available in other languages under
- # https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- #------------------------------------------------
- JLDIR=/usr/local/etc/journalogs
- MAILTO=root
- #------------------------------------------------
- journalctl --since "1 hour ago" | tail -n +2 | grep -E -v --file=$JLDIR/ignore_pattern > /tmp/journalogs_$$_all.tmp
- # just create the file in case there are no errors, so script does not break
- touch /tmp/journalogs_$$_all.tmp
- #-----------------
- # find all ALERT patterns
- grep -E --file=$JLDIR/alert_pattern < /tmp/journalogs_$$_all.tmp > /tmp/journalogs_$$_alert.tmp
- if [ -s /tmp/journalogs_$$_alert.tmp ]; then
- echo " " >> /tmp/journalogs_$$_mail.tmp
- echo "=========================" >> /tmp/journalogs_$$_mail.tmp
- echo "!!! LOG ALERTS !!!" >> /tmp/journalogs_$$_mail.tmp
- echo "=========================" >> /tmp/journalogs_$$_mail.tmp
- cat /tmp/journalogs_$$_alert.tmp >> /tmp/journalogs_$$_mail.tmp
- echo " " >> /tmp/journalogs_$$_mail.tmp
- fi
- #-----------------
- # find all UNKNOWN patterns
- grep -E -v --file=$JLDIR/alert_pattern < /tmp/journalogs_$$_all.tmp > /tmp/journalogs_$$_unknown.tmp
- if [ -s /tmp/journalogs_$$_unknown.tmp ]; then
- echo " " >> /tmp/journalogs_$$_mail.tmp
- echo "-----------------------" >> /tmp/journalogs_$$_mail.tmp
- echo "Notable journal entries" >> /tmp/journalogs_$$_mail.tmp
- echo "-----------------------" >> /tmp/journalogs_$$_mail.tmp
- cat /tmp/journalogs_$$_unknown.tmp >> /tmp/journalogs_$$_mail.tmp
- echo " " >> /tmp/journalogs_$$_mail.tmp
- fi
- #-----------------
- # send mail if issues
- if [ -s /tmp/journalogs_$$_mail.tmp ]; then
- cat /tmp/journalogs_$$_mail.tmp | mail -s "Issues on $( hostname ) in JOURNALD" $MAILTO
- fi
- rm /tmp/journalogs_*.tmp
|