Hallo zusammen,
Ich habe in meiner OPNSense gesehen,dass man mittels CronJob auf neue Firmware Updates prüfen kann.
Nun hatte ich die Idee, bzw. mich gefragt, ob ich mir dann nicht via Monit eine Benachrichtigung schicken lassen kann?
weiß das jemand?
Bzw. könntet ihr mir das zeigen/erklären, was ich hier in Monit einstellen muss?
Danke &LG
xenon
Hallo,
hast du hierfür schon eine Lösung gefunden?
Du kannst die Datei /tmp/pkg_upgrade.json überwachen.
Siehe auch https://forum.opnsense.org/index.php?topic=27123.msg132035#msg132035 (https://forum.opnsense.org/index.php?topic=27123.msg132035#msg132035)
Zwar nen alter Fred. Aber ja, geht
cat /usr/local/bin/check_opnsense_update.sh
#!/bin/sh
# Aktuelle installierte Version abrufen
CURRENT_VERSION=$(opnsense-version)
# Verfügbare Version abrufen
AVAILABLE_VERSION=$(opnsense-update -c)
# Prüfen, ob die verfügbare Version leer ist
if [ -z "$AVAILABLE_VERSION" ]; then
# Keine neue Version verfügbar
echo "NO_UPDATE: Current version: $CURRENT_VERSION"
exit 0
else
# Neue Version verfügbar
echo "UPDATE_AVAILABLE: Current version: $CURRENT_VERSION, Available version: $AVAILABLE_VERSION"
exit 1
fi
Service Test Settings:
Name: check_opnsense_update
Condition: status != 0
Action: Alert
Service Settings:
Name: OPNsense_Update_Check
Type: custom
Path: /usr/local/bin/check_opnsense_update.sh
Tests: check_opnsense_update
Poll Time: 0 0 * * *
Note: for daily checks at 0:00
Alert Settings:
Recipient: e@mail.com
Events: status failed
Mail Format:
from: [FW@lalelu.com]
reply-to: [e@mail.com]
subject: Monit Alert -- $EVENT
message: $EVENT Service $SERVICE
Date: $DATE
Action: $ACTION
Host: $HOST
Description: $DESCRIPTION
Cheers,
Monit
Reminder: 3600
Cheers
Ich habe dein Script ausprobiert. Gibt mir aber aktuell (24.7.10 ist seit heute verfügbar) immer noch diesen Output: NO_UPDATE: Current version: OPNsense 24.7.9_1 (amd64)
Wie müsste das Script angepasst werden?
opnsense-update -c
liefert leider gar keinen Output.
Danke für den Hinweis, dass eine neue Version rausgekommen ist.
Ja, Du hast Recht. Der Befehl "opnsense-update -c" gibt leider gar nichts aus. Hätte ich so nicht erwartet. Also vermutlich falsch interpretiert, oder er macht nicht was er soll.
Hier ein angepasstes Script. Damit funktioniert es.
Edit: Hatte nen Fehler noch drin. Und zwar wird bei dem output von opnsense-version mehr ausgegeben, als nur die Versionsnummer. Mit dem awk ist es fixed. Teste gerne mal.
Edit_2: Die echos kannst Du auskommentieren. Sind nur zum debuggen drin...
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# Aktuelle installierte Version abrufen und nur die Versionsnummer extrahieren
CURRENT_VERSION=$(opnsense-version | awk '{print $2}')
# Verfügbare Version aus dem Repository abrufen
AVAILABLE_VERSION=$(pkg rquery '%v' opnsense)
if [ "$CURRENT_VERSION" = "$AVAILABLE_VERSION" ]; then
# Keine neue Version verfügbar
echo "NO_UPDATE: Current version: $CURRENT_VERSION"
exit 0
else
# Update verfügbar
echo "UPDATE_AVAILABLE: Current version: OPNsense $CURRENT_VERSION, Available version: OPNsense $AVAILABLE_VERSION"
exit 1
fi
Vielen Dank! Funktioniert super! 8)
Funktioniert leider mit der Business-Version nicht (mehr)...
QuoteUPDATE_AVAILABLE: Current version: OPNsense 24.10.2_6, Available version: OPNsense 24.7.12_4
Sorry... Keine Kekse, keinen Support...
Ich gehe davon aus, du arbeitest nicht in der IT?
Nix persönliches. Allerdings "geht nicht" "funktioniert nicht", hilft nicht sonderlich beim Troubleshooten. Für mich funktioniert es noch bei der non business version.
Zudem schaue ich hier eher selten rein. Allerdings hätte ich vermutlich direkt helfen können, sofern ich eine hilfreiche Problembeschreibung bekommen hätte. Einfach mal drüber nachdenken ;)