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 ;)
@fastboot
Vielen Dank für dein Script. Nur ich bekomme es irgendwie nicht zum Laufen.
Im Logfile sind keinerlei Einträge hierzu, daher für mich sehr schwierig den Grund herauszufinden. Ich versuche es mal mit Screenshots, vielleicht kann mir so geholfen werden.
Installiert ist 25.7.1 und wenn ich das Script auf der Konsole ausführe, wird mir auch die neue Version angezeigt.
Du hast hier gepostet:
Quote from: fastboot on May 27, 2025, 09:49:15 AMAs it seems the cronjob at 10PM did not work for me. For what ever reason. It was not executed every day at 10PM.... I changed the time to "90 cycles".
Not sure if anything has been changed with monit recently. At least this way it works again.
Wo bitte hast du die 90 Zyklen eingestellt? Und wann beginnt immer ein neuer Zyklus?
Sodele, Fehler gefunden - teils mein Fehler, teil etwas spezielles von Monit.
Also hier für die Nachwelt.
Mein Fehler war, dass ich als Absender und Empfänger die gleiche eMail-Adresse fälschlicherweise eingetragen hatte. Müssen natürlich zwei verschiedene Adressen sein.
In den Service-settings unter PollTime darf im Cron-style keine einzelne Minute spezifiziert sein, sondern es muss eine Minuten-Range eingetragen werden.
Siehe unter Limitations: https://mmonit.com/monit/documentation/monit.html#SERVICE-POLL-TIME (https://mmonit.com/monit/documentation/monit.html#SERVICE-POLL-TIME)
z.B.
0-5 6 * * 0
Jeden Sonntag von 6:00 bis 6:05 Uhr überprüfen - so läuft das Script zwischen 2 bis 3 Mal durch in dieser Zeit.
Btw, eine gute Idee ist, unter General Settings unter LogFile "syslog" einzutragen, um in Services/Monit/LogFile zu sehen, ob überhaupt was geschieht.
So sieht das Ergebnis heute aus:
2025-08-31T06:05:04
Error
monit
'OPNsense_Update_Check' status failed (1) -- UPDATE_AVAILABLE: Current version: OPNsense 25.7.1_1, Available version: OPNsense 25.7.2
2025-08-31T06:03:03
Error
monit
'OPNsense_Update_Check' status failed (1) -- UPDATE_AVAILABLE: Current version: OPNsense 25.7.1_1, Available version: OPNsense 25.7.2
Funktioner das Script bei der Aktuellen Version noch?
Danke und Grüße Robert
Quote from: no_Legend on March 05, 2026, 10:51:29 AMFunktioner das Script bei der Aktuellen Version noch?
JUP, bin allerdings noch auf Version 25.7.10 und noch nicht auf 26.x.x
Script überprüft immer nur Sonntags zwischen 06:00 und 06:05 Uhr.
Program 'OPNsense_Update_Check'
status Status failed
monitoring status Waiting
monitoring mode active
on reboot start
last exit value 1
last output UPDATE_AVAILABLE: Current version: OPNsense 25.7.10, Available version: OPNsense 25.7.11_9
data collected Sun, 01 Mar 2026 06:04:57
Program 'OPNsense_Update_Check'
status OK
monitoring status Waiting
monitoring mode active
on reboot start
last exit value 0
last output NO_UPDATE: Current version: 26.1.3
data collected Thu, 05 Mar 2026 22:27:06
Quote from: layerbreak on August 30, 2025, 01:59:38 PMMein Fehler war, dass ich als Absender und Empfänger die gleiche eMail-Adresse fälschlicherweise eingetragen hatte. Müssen natürlich zwei verschiedene Adressen sein.
Das ist zumindest inzwischen nicht mehr so, bzw. falls doch, ein Problem mit Deinem speziellen Mailprovider. Ich schicke mir seit Jahren erfolgreich selber Mails mit allen möglichen Kisten und Diensten...
Vorstellen könnte ich mir aber, daß Du bei der ursprünglichen Senderadresse erst "Zugriff für externe Programme erlauben" irgendwo ganz tief versteckt in den Optionen vom Mailkonto aktivieren müßtest, damit das funktioniert.
Quote from: no_Legend on March 05, 2026, 10:51:29 AMFunktioner das Script bei der Aktuellen Version noch?
Sodele, jetzt kann ich deine Antwort beantworten.
Ja, auch mit der neuen Version 26.x funktioniert das Script und auch die eMail-Benachtrichtigung.
Program 'OPNsense_Update_Check'
status Status failed
monitoring status Waiting
monitoring mode active
on reboot start
last exit value 1
last output UPDATE_AVAILABLE: Current version: OPNsense 26.1.3, Available version: OPNsense 26.1.4
data collected Sun, 15 Mar 2026 06:04:21
und auch die email-Benachrichtigung geht
Betreff: OPNSense - neue Version vorhanden
Status failed Service: OPNsense_Update_Check
Date: Sun, 15 Mar 2026 06:02:20
Action: alert
Host: OPNsense.mutter.internal
Bechreibung: status failed (1) -- UPDATE_AVAILABLE: Current version: OPNsense 26.1.3, Available version: OPNsense 26.1.4
Gruessle
Monit von OPNSense