Zitatich gehe mal davon aus, das bei den 2 ersten Echo Zeilen (Bild1)
die selben Werte angezeigt werden wie in der hbridge,cfg eingetragen ist.
Richtig ?
Ja ist richtig.
So habe die änderungen gemacht wie du es wolltest.Dabei bekomme ich folgenden fehler.
Folgendes steht in meiner reporter.sh
Bash
#!/bin/bash
#
# Name: reporter.sh
# Version: 0.1.4
# Autor: Nastra (SmartApfel Forum)
# Credits: Vielen Dank an @NAB (Debianforum) und @det (SmartApfel Forum)!!!
# Beschreibung: Überwachung der Homebridge Instanzen und benachrichtig über Telegram.
# http://forum.smartapfel.de/forum/thread/1403-homebridge-tool-s-zum-system-update-und-instanzen-überwachen-mit-telegram/
############################## Hinweise ############################
# Allgemein:
# Das Skript ist ausgelegt mit der hbridge.cfg Config eingerichtet zu werden, es kann aber auch ohne diese benutzt werden wenn die entsprechenden Daten hier im Skript angegeben werden.
# Das Skript ist Multiuser tauglich und funktioniert auch mit anderen Usern als "pi" dafür (sudo nano /etc/systemd/system/reporter.service) aufrufen und die im Abschnitt [Service] User=pi gegen User=xxxx ersetzen.
# Ebenfalls sollte darauf geachtet werden das im Usernamen vom Benutzerkonto keine Großbuchstaben verwendet werden.
# Abschnitt Telegram Config:
# Hier wird der Telegram Token und die ChatID eingetragen.
# Abschnitt Nachrichten Begrenzung:
# Hier wird festgelegt in welchem Abstand in Sekunden (flutschutz1) eine Benachrichtigung erfolgt.
# Abschnitt Suchbegriffe und Nachrichten:
# Hier wird festgelegt auf welche Ereignisse (suchbegriff1="homebridge.*FAILURE"reagiert wird. In der Zeile Nachricht (nachricht1="ACHTUNG: ") kann die gewünschte Mitteilung zum Ereignis festgelegt werden.
# Abschnitt Überwachte Service:
# Hier wird festgelegt welche systemd Service (-u homebridge*) überwacht werden. Standardmäßig werden alle Homebridge Units überwacht.
# Abschnitt Nachrichten Erstellung:
# Nur relevant bei Erweiterung eines Suchbegriffes, dieser muss Sinngemäß kopiert und wieder eingefügt werden. Ebenfalls muss eine neuen Ziffer Sinngemäß eingetragen werden.
# Abschnitt Aktionen:
# Hier kann beim Eintreten eines Ereignis zusätzlich zu der Nachricht an Telegram eine Aktion ausgeführt werden, z.B. ein Restart etc.
# Abschnitt: Nachricht an Telegram
# Hier wird der TToken_reporter und die TChatID_reporter von Telegram eingetragen. Bsp: bot$123455/sendMessage -d chat_id=$12345
############################ Programm-Ordner festlegen ###########################
toolDir=$HOME/hbridge_install
###################### Pfad Config Datei (hbridge.cfg) ######################
[ -f $toolDir/hbridge.cfg ] && . $toolDir/hbridge.cfg
############################ Telegram Config ################################
#TToken_reporter= # Telegram API Token, report senden
#TChatID_reporter= # Telegram CHAT ID für "bot Chat", report senden
#echo "TChatID_reporter=$TChatID_reporter"
#echo "TToken_reporter=$TToken_reporter"
#echo "toolDir=$toolDir"
# Auslesen hbridge.cfg (Hier nichts ändern!)
#if [ "$TChatID_reporter" == "" -o "$TToken_reporter" == "" ]; then
if [ "${TChatID_reporter}" == "" ] || [ "${TToken_reporter} == "" ]; then
echo -e "Bitte die Variablen \"TToken_reporter\" und \"TChatID_reporter\" in der Datei \"/home/UserName/hbridge_install/hbridge.cfg\" setzen !" 2>&1
exit 254
fi
######################## Nachrichten Begrenzung ############################
flutschutz1=1800
letzteNachricht1=$(($(date +"%s")-$flutschutz1))
flutschutz2=1800
letzteNachricht2=$(($(date +"%s")-$flutschutz2))
flutschutz3=1800
letzteNachricht3=$(($(date +"%s")-$flutschutz3))
flutschutz4=1800
letzteNachricht4=$(($(date +"%s")-$flutschutz4))
flutschutz5=1800
letzteNachricht5=$(($(date +"%s")-$flutschutz5))
#flutschutz6=1800
#letzteNachricht6=$(($(date +"%s")-$flutschutz6))
############################# Suchbegriffe #################################
suchbegriff1="homebridge.*FAILURE"
nachricht1="ACHTUNG: "
suchbegriff2="error"
nachricht2="HINWEIS: "
suchbegriff3="ERROR"
nachricht3="HINWEIS: "
suchbegriff4="warning"
nachricht4="HINWEIS: "
suchbegriff5="Warning"
nachricht5="HINWEIS: "
#suchbegriff6="Stopping"
#nachricht6="HINWEIS: "
########################### Überwachte Service ##############################
#Vollständiges Journalctl
journalctl -f --since "now" | \
#Ausgewählte Service
#journalctl -u homebridge* -f --since "now" | \
while read -r zeile; do
########################## Nachrichten Erstellung ###########################
jetzt=$(date +"%s")
if grep --quiet "$suchbegriff1" <<< "$zeile" && [ $((letzteNachricht1+$flutschutz1)) -lt $(date +"%s ") ] ; then
nachricht=$nachricht1$zeile
letzteNachricht1=$jetzt
fi
if grep --quiet "$suchbegriff2" <<< "$zeile" && [ $((letzteNachricht2+$flutschutz2)) -lt $(date +"%s ") ] ; then
nachricht=$nachricht2$zeile
letzteNachricht2=$jetzt
fi
if grep --quiet "$suchbegriff3" <<< "$zeile" && [ $((letzteNachricht3+$flutschutz3)) -lt $(date +"%s ") ] ; then
nachricht=$nachricht3$zeile
letzteNachricht3=$jetzt
fi
if grep --quiet "$suchbegriff4" <<< "$zeile" && [ $((letzteNachricht4+$flutschutz4)) -lt $(date +"%s ") ] ; then
nachricht=$nachricht4$zeile
letzteNachricht4=$jetzt
fi
if grep --quiet "$suchbegriff5" <<< "$zeile" && [ $((letzteNachricht5+$flutschutz5)) -lt $(date +"%s ") ] ; then
nachricht=$nachricht5$zeile
letzteNachricht5=$jetzt
fi
#if grep --quiet "$suchbegriff6" <<< "$zeile" && [ $((letzteNachricht6+$flutschutz6)) -lt #$(date +"%s ") ] ; then
#nachricht=$nachricht6$zeile
#letzteNachricht6=$jetzt
#fi
########################## Aktionen ###############################
#if grep --quiet "$suchbegriff6" <<< "$zeile" ; then
#sudo systemctl restart homebridge-mi-flower-care.service
#fi
##################### Nachricht an Telegram #######################
if [ -n "$nachricht" ]; then
curl -s -X POST https://api.telegram.org/bot$TToken_reporter/sendMessage -d chat_id=$TChatID_reporter -d text="$nachricht"
nachricht=""
fi
done
Alles anzeigen
das Journal zeigt folgendes
Code
pi@hbridge2:~ $ sudo journalctl -f -u reporter
-- Logs begin at Mon 2018-06-25 21:44:07 CEST. --
Jun 25 21:44:17 hbridge2 reporter.service[858]: /usr/local/bin/reporter.sh: Zeile 180: Syntax Fehler: Unerwartetes Dateiende.
Jun 25 21:44:17 hbridge2 systemd[1]: reporter.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jun 25 21:44:17 hbridge2 systemd[1]: reporter.service: Unit entered failed state.
Jun 25 21:44:17 hbridge2 systemd[1]: reporter.service: Failed with result 'exit-code'.
Jun 25 21:44:18 hbridge2 systemd[1]: reporter.service: Service hold-off time over, scheduling restart.
Jun 25 21:44:18 hbridge2 systemd[1]: Stopped reporter.service.
Jun 25 21:44:18 hbridge2 systemd[1]: reporter.service: Start request repeated too quickly.
Jun 25 21:44:18 hbridge2 systemd[1]: Failed to start reporter.service.
Jun 25 21:44:18 hbridge2 systemd[1]: reporter.service: Unit entered failed state.
Jun 25 21:44:18 hbridge2 systemd[1]: reporter.service: Failed with result 'exit-code'.
Alles anzeigen