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. Mehr ...
 
 msg_info (message)
 Informationen und Fehlermeldungen ins syslog schreiben. Mehr ...
 
 msg_error (message)
 Die Fehlermeldungen werden in die Standard-Fehlerausgabe und ins syslog geschrieben. Mehr ...
 
 append_to_custom_log (log_name, event)
 Hänge eine neue Nachricht an ein spezfisches Protokoll an. Mehr ...
 
 get_custom_log_filename (log_name)
 Liefere den Inhalt eines spezifischen Logs (z.B. das OpenVPN-Verbindungsprotokoll) zurück. Mehr ...
 
 get_custom_log_content (log_name)
 Liefere den Inhalt eines spezifischen Logs (z.B. das OpenVPN-Verbindungsprotokoll) zurück. Mehr ...
 
 update_file_if_changed (target_filename)
 Aktualisiere eine Datei, falls sich ihr Inhalt geändert haben sollte. Mehr ...
 
 update_dns_servers ()
 Übertrage die Liste der als DNS-Dienst announcierten Server in die dnsmasq-Konfiguration. Mehr ...
 
 update_ntp_servers ()
 Übertrage die Liste der als NTP-Dienst announcierten Server in die sysntpd-Konfiguration. Mehr ...
 
 add_banner_event (event, timestamp)
 Füge ein Ereignis zum dauerhaften Ereignisprotokoll (/etc/banner) hinzu. Mehr ...
 
 clean_restart_log ()
 Alle Log-Einträge aus der banner-Datei entfernen. Mehr ...
 
 _get_file_dict_value (key)
 Auslesen eines Werts aus einem Schlüssel/Wert-Eingabestrom. Mehr ...
 

Variablen

local key ="$1"
 
 shift
 
while read key value { grep "^$key[[:space:]]" "$@" 2>/dev/null || true
 
do echo n $value
 
 done
 

Ausführliche Beschreibung

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

Dokumentation der Funktionen

_get_file_dict_value ( key  )

Auslesen eines Werts aus einem Schlüssel/Wert-Eingabestrom.

Parameter
keydas Schlüsselwort
Rückgabe
Den zum gegebenen Schlüssel gehörenden Wert aus dem Schlüssel/Wert-Eingabestrom Falls kein passender Schlüssel gefunden wurde, dann ist die Ausgabe leer.

Jede Zeile der Standardeingabe 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 81 der Datei core.sh.

add_banner_event ( event  ,
timestamp   
)

Füge ein Ereignis zum dauerhaften Ereignisprotokoll (/etc/banner) 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 68 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 29 der Datei core.sh.

clean_restart_log ( )

Alle Log-Einträge aus der banner-Datei entfernen.

Definiert in Zeile 71 der Datei core.sh.

get_custom_log_content ( log_name  )

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

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

Definiert in Zeile 39 der Datei core.sh.

get_custom_log_filename ( log_name  )

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

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

Definiert in Zeile 34 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 9 der Datei core.sh.

msg_error ( message  )

Die Fehlermeldungen werden in die Standard-Fehlerausgabe und ins syslog geschrieben.

Parameter
messageFehlermeldung

Jede Meldung wird mit "ERROR" versehen, damit diese Meldungen von "get_potential_error_messages" erkannt werden. Die error-Nachrichten werden immer ausgegeben, da es kein höheres Log-Level als "debug" gibt.

Definiert in Zeile 22 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 als "debug" gibt.

Definiert in Zeile 15 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 55 der Datei core.sh.

update_file_if_changed ( target_filename  )

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

Parameter
target_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 49 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 62 der Datei core.sh.

Variablen-Dokumentation

do echo n $value

Definiert in Zeile 81 der Datei core.sh.

done

Definiert in Zeile 81 der Datei core.sh.

local key ="$1"

Definiert in Zeile 81 der Datei core.sh.

shift

Definiert in Zeile 81 der Datei core.sh.

while read key value { grep "^$key[[:space:]]" "$@" 2>/dev/null || true

Definiert in Zeile 81 der Datei core.sh.