synology:bash_script_fuer_snmp_zugriff_auf_usv_daten
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| synology:bash_script_fuer_snmp_zugriff_auf_usv_daten [2025/02/04 14:57] – angelegt dokuwikiadmin | synology:bash_script_fuer_snmp_zugriff_auf_usv_daten [2026/01/28 14:27] (aktuell) – dokuwikiadmin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| Wenn die USV über ein USB Kabel an das Synology NAS angeschlossen ist, kann über SNMP der Status der USV, wie zum Beispiel die Restlaufzeit in Sekunden abgefragt werden. | Wenn die USV über ein USB Kabel an das Synology NAS angeschlossen ist, kann über SNMP der Status der USV, wie zum Beispiel die Restlaufzeit in Sekunden abgefragt werden. | ||
| - | Dieses BASH Script kann auf macOS oder Linux Umgebung alle Minuten laufen und die Restlaufzeit prüfen. Wird diese Unterschritten | + | Dieses BASH Script kann auf macOS oder Linux Umgebung alle Minuten laufen und die Restlaufzeit prüfen. Wird diese unterschritten |
| + | **Hinweis: Diese Anleitung funktioniert nur wenn der User angemeldet ist.** | ||
| + | |||
| + | **Alle Daten in geschwungenen Klammern {} müssen angepasst werden!** | ||
| + | |||
| + | Dateiname im Home Verzeichnis des angemeldeten Users erstellen: | ||
| + | < | ||
| + | Diesen Inhalt kopieren und anpassen: | ||
| + | < | ||
| + | #!/bin/bash | ||
| + | |||
| + | # SNMPv3 Authentifizierungsdetails | ||
| + | USERNAME=" | ||
| + | AUTH_PASSWORD=" | ||
| + | PRIV_PASSWORD=" | ||
| + | IP_ADDRESS=" | ||
| + | |||
| + | # Datei zum Zwischenspeichern der letzten Restlaufzeit | ||
| + | RUNTIME_FILE="/ | ||
| + | LOG_FILE="/ | ||
| + | |||
| + | # Schwellwert in Sekunden | ||
| + | THRESHOLD=300 | ||
| + | |||
| + | # OID für die verbleibende Batterielaufzeit in Sekunden | ||
| + | OID=" | ||
| + | |||
| + | # Restlaufzeit abfragen | ||
| + | REMAINING_RUNTIME=$(snmpget -v3 -l authPriv -u " | ||
| + | |||
| + | # Falls SNMP fehlschlägt → abbrechen | ||
| + | if ! [[ " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | # Letzte gespeicherte Restlaufzeit lesen (falls vorhanden) | ||
| + | if [ -f " | ||
| + | LAST_RUNTIME=$(cat " | ||
| + | else | ||
| + | LAST_RUNTIME=$REMAINING_RUNTIME | ||
| + | fi | ||
| + | |||
| + | # Aktuelle Restlaufzeit speichern | ||
| + | echo " | ||
| + | |||
| + | # Entscheidungslogik | ||
| + | if [ " | ||
| + | echo " | ||
| + | shortcuts run "Shut Down" -i "UPS remaining runtime ($REMAINING_RUNTIME seconds)." | ||
| + | else | ||
| + | echo " | ||
| + | fi | ||
| + | </ | ||
| + | |||
| + | Datei ausführbar machen: | ||
| + | < | ||
| + | |||
| + | In macOS kann dann launchd zum regelmäßigen Ausführen verwendet werden: | ||
| + | < | ||
| + | |||
| + | Diesen Inhalt eintragen und entsprechend anpassen. In diesem Beispiel wird das Script alle 60 Sekunden ausgeführt: | ||
| + | < | ||
| + | <?xml version=" | ||
| + | < | ||
| + | <plist version=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Shortcut in macOS erstellen: | ||
| + | - Suche nach **Show Notification** | ||
| + | - //Hello, World!// mit **Shortcut Input** ersetzen | ||
| + | - Title: UPS Battery low! | ||
| + | - Play Sound: ☑️ | ||
| + | - Attachment: Shortcut Input (Type: Text / Get: Text) | ||
| + | - Suche nach "Shut Down" | ||
| + | - Name des Shortcuts ändern in "Shut Down" | ||
| + | - Icon und Farbe nach Bedarf anpassen | ||
synology/bash_script_fuer_snmp_zugriff_auf_usv_daten.1738677473.txt.gz · Zuletzt geändert: von dokuwikiadmin
