Opennet Firmware
 Alle Dateien Funktionen Variablen Gruppen Seiten
Kern

Logging, Datei-Operationen, DNS- und NTP-Dienste, Dictionary-Dateien, PID- und Lock-Behandlung, Berichte. Mehr ...

Funktionen

 msg_debug (message)
 Debug-Meldungen ins syslog schreiben.
 msg_info (message)
 Informationen und Fehlermeldungen ins syslog schreiben.
 append_to_custom_log (log_name, event)
 Hänge eine neue Nachricht an ein spezfisches Protokoll an.
 get_custom_log ()
 Liefere den Inhalt eines spezifischen Logs (z.B. das OpenVPN-Verbindungsprotokoll, log_name) zurück.
 update_file_if_changed (filename)
 Aktualisiere eine Datei, falls sich ihr Inhalt geändert haben sollte.
 update_dns_servers ()
 Übertrage die Liste der als DNS-Dienst announcierten Server in die dnsmasq-Konfiguration.
 update_ntp_servers ()
 Übertrage die Liste der als NTP-Dienst announcierten Server in die sysntpd-Konfiguration.
 add_banner_event ()
 Füge ein Ereignis zum dauerhaften Ereignisprotokoll (/etc/banner, event, timestamp) hinzu.
 _get_file_dict_value (status_file, field)
 Auslesen eines Werts aus einer Schlüssel/Wert-Datei.

Variablen

local key = "$1"
 shift

Ausführliche Beschreibung

Logging, Datei-Operationen, DNS- und NTP-Dienste, Dictionary-Dateien, PID- und Lock-Behandlung, Berichte.

Dokumentation der Funktionen

_get_file_dict_value ( status_file  ,
field   
)

Auslesen eines Werts aus einer Schlüssel/Wert-Datei.

Parameter
status_fileder Name der Schlüssel/Wert-Datei
fielddas Schlüsselwort
Rückgabe
Den zum gegebenen Schlüssel gehörenden Wert aus der Schlüssel/Wert-Datei. Falls kein passender Schlüssel gefunden wurde, dann ist die Ausgabe leer.

Jede Zeile dieser Datei enthält einen Feldnamen und einen Wert - beide sind durch ein beliebiges whitespace-Zeichen getrennt. Dieses Dateiformat wird beispielsweise für die Dienst-Zustandsdaten verwendet. Zusätzlich ist diese Funktion auch zum Parsen von openvpn-Konfigurationsdateien geeignet.

Definiert in Zeile 73 der Datei core.sh.

add_banner_event ( )

Füge ein Ereignis zum dauerhaften Ereignisprotokoll (/etc/banner, event, timestamp) hinzu.

Parameter
eventEreignistext
timestamp[optional] Der Zeitstempel-Text kann bei Bedarf vorgegeben werden.

Ein Zeitstempel, sowie hübsche Formatierung wird automatisch hinzugefügt.

Definiert in Zeile 62 der Datei core.sh.

append_to_custom_log ( log_name  ,
event   
)

Hänge eine neue Nachricht an ein spezfisches Protokoll an.

Parameter
log_nameName des Log-Ziels
eventdie Kategorie der Meldung (up/down/???, msg)
msgdie textuelle Beschreibung des Ereignis (z.B. "connection with ... closed")

Die Meldungen werden beispielsweise von den konfigurierten openvpn-up/down-Skripten gesendet.

Definiert in Zeile 28 der Datei core.sh.

get_custom_log ( )

Liefere den Inhalt eines spezifischen Logs (z.B. das OpenVPN-Verbindungsprotokoll, log_name) zurück.

Parameter
log_nameName des Log-Ziels
Rückgabe
Zeilenweise Ausgabe der Protokollereignisse (aufsteigend nach Zeitstempel sortiert).

Definiert in Zeile 33 der Datei core.sh.

msg_debug ( message  )

Debug-Meldungen ins syslog schreiben.

Parameter
messageDebug-Nachricht

Die Debug-Nachrichten landen im syslog (siehe logread). Falls das aktuelle Log-Level bei info oder niedriger liegt, wird keine Nachricht ausgegeben.

Definiert in Zeile 15 der Datei core.sh.

msg_info ( message  )

Informationen und Fehlermeldungen ins syslog schreiben.

Parameter
messageLog-Nachricht

Die Nachrichten landen im syslog (siehe logread). Die info-Nachrichten werden immer ausgegeben, da es kein höheres Log-Level gibt.

Definiert in Zeile 21 der Datei core.sh.

update_dns_servers ( )

Übertrage die Liste der als DNS-Dienst announcierten Server in die dnsmasq-Konfiguration.

Die Liste der DNS-Server wird in die separate dnsmasq-Servers-Datei geschrieben (siehe

Siehe auch
DNSMASQ_SERVERS_FILE_DEFAULT). Die Server-Datei wird nur bei Änderungen neu geschrieben. Dasselbe gilt für den Neustart des Diensts. Diese Funktion sollte via olsrd-nameservice-Trigger oder via cron-Job ausgeführt werden.

Definiert in Zeile 49 der Datei core.sh.

update_file_if_changed ( filename  )

Aktualisiere eine Datei, falls sich ihr Inhalt geändert haben sollte.

Parameter
filenameName der Zieldatei

Der neue Inhalt der Datei wird auf der Standardeingabe erwartet. Im Falle der Gleichheit von aktuellem Inhalt und zukünftigem Inhalt wird keine Schreiboperation ausgeführt. Der Exitcode gibt an, ob eine Schreiboperation durchgeführt wurde.

Rückgabe
exitcode=0 (Erfolg) falls die Datei geändert werden musste
exitcode=1 (Fehler) falls es keine Änderung gab

Definiert in Zeile 43 der Datei core.sh.

update_ntp_servers ( )

Übertrage die Liste der als NTP-Dienst announcierten Server in die sysntpd-Konfiguration.

Die Liste der NTP-Server wird in die uci-Konfiguration geschrieben. Die uci-Konfiguration wird nur bei Änderungen neu geschrieben. Dasselbe gilt für den Neustart des Diensts. Diese Funktion sollte via olsrd-nameservice-Trigger oder via cron-Job ausgeführt werden.

Siehe auch
http://wiki.openwrt.org/doc/uci/system#remote_time_ntp

Definiert in Zeile 56 der Datei core.sh.

Variablen-Dokumentation

local key = "$1"

Definiert in Zeile 73 der Datei core.sh.

shift

Definiert in Zeile 73 der Datei core.sh.