Skip to content

LogoDIDACT 4.0 Einstellungen abfragen

Wichtig

Das Skript zum Abfragen der Einstellungen funktioniert derzeit nur unter LogoDIDACT 4.0.

Es wird ein Python-Skript zur Verfügung gestellt, welche diverse Einstellungen und Daten aus der LD 4.0 Installation unkompliziert zusammenstellt und die Informationen JSON-Format ausgibt. Das Skript ist für die Ausführung im ldhost vorgesehen. Es stellt eine optionale Möglichkeit dar, Einstellungen zu sichern, bevor der LogoDIDACT Server überspielt wird.

1. Skript herunterladen

Zum Beziehen des Skripts wird eine SSH-Verbindung mit dem LogoDIDACT Server hergestellt und das Skript anschließend per Kommandozeilen-Tool wget heruntergeladen.

ldhost
1
2
3
4
5
cd /root
wget https://files.sbe.de/iserv-migration/ld-telemetrie/latest/exporter_full.py.sha1sum
wget https://files.sbe.de/iserv-migration/ld-telemetrie/latest/exporter_full.py
# Download über Prüfsumme validieren, muss "OK" für Datei exporter_full.py zurückliefern
sha1sum -c exporter_full.py.sha1sum

Dieses Skripte kann optional im Vorfeld der IServ Migration aufgerufen werden, um Informationen der LogoDIDACT-Installation in einer JSON-Datei zu sichern. Auf diese Weise ist es später möglich, frühere Einstellungen aus den erfassten Informationen nochmal einzusehen.

2. Ausführen des Python-Skript exporter_full.py

Nach dem Herunterladen befindet sich das Skript im /root Verzeichnis des ldhost. Das Skript besitzt verschiedene Optionen, die als Argumente / Schalter beim Aufruf mitgegeben werden können.

python3 /root/exporter_full.py [SCHALTER]

Über den Hilfetext lassen sich die verfügbaren Optionen anzeigen.

ldhost
# Skript aufrufen und Hilfetext anzeigen
root@ldhost:~ # python3 /root/exporter_full.py --help

usage: exporter_full.py [-h] [-v VERBOSITY] [-o OUTPUT] [--stdout]
                        [--jobs {relution,microsoft365,nextcloud,keycloak,puppeteer,ldhost,shorewall,portal,ctrl,kopano} [{relution,microsoft365,nextcloud,keycloak,puppeteer,ldhost,shorewall,portal,ctrl,kopano} ...]]
                        [--with-shorewall] [--list-jobs]

Unified LXC Exporter

Verfügbare Jobs:
  relution, microsoft365, nextcloud, keycloak, puppeteer, ldhost, shorewall, portal, ctrl, kopano

optional arguments:
  -h, --help            show this help message and exit
  -v VERBOSITY, --verbosity VERBOSITY
                        Log Level (0=Aus, 1=Standard, 2=Detail, 3=Debug)
  -o OUTPUT, --output OUTPUT
                        Pfad/Dateiname für die JSON-Ausgabe (z.B. /tmp/export.json).
  --stdout              Gibt das JSON direkt in der CLI aus (keine Datei). Logs werden nach stderr umgeleitet.
  --jobs {relution,microsoft365,nextcloud,keycloak,puppeteer,ldhost,shorewall,portal,ctrl,kopano} [{relution,microsoft365,nextcloud,keycloak,puppeteer,ldhost,shorewall,portal,ctrl,kopano} ...]
                        Spezifische Jobs ausführen (z.B. --jobs relution ctrl). Standard: Alle
  --with-shorewall      Aktiviert die zusätzliche Erstellung der shorewall_*.txt Datei.
  --list-jobs           Listet alle verfügbaren Jobs auf und beendet das Skript.

2.1 Übersicht der einzelnen Schalter

Info

Durch die Angabe des Jobs-Argument lassen sich die Bereiche der Einstellungen bzw. Module angeben, für die Informationen durch das Skript abgefragt werden. Der Output-Schalter bestimmt, in welcher Datei die Informationen gespeichert werden (JSON-Format).

Die verfügbaren Schalter und deren Auswirkungen werden nachfolgend im Detail beschrieben.


-h, --help

Zeigt den Hilfetext an.


-o OUTPUT, --output OUTPUT

Angabe des vollständigen Pfads zur Datei, in der die Informationen gespeichert werden. Wenn diese Schalter ausgelassen wird, erfolgt die Speicherung im Standard-Pfad /tmp/export_SHORTNAME.json.


--stdout

Durch Nutzung dieses Schalters werden die abgefragten Informationen an der Console ausgegeben und nicht länger in einer Datei abgespeichert.


--list-jobs

Listet alle verfügbaren Jobs an der Konsole auf.


--jobs LISTE

Über diesen wichtigen Schalter wird festgelegt, welche Einstellungen bzw. Modulinformationen durch das Skript exportiert werden. Standardmäßig werden alle Jobs ausgeführt, es lässt sich durch Nutzung dieses Schalters jedoch eingrenzen. Mehrere Jobs können kommagetrennt angegeben werden. Bei Angabe mehrere Jobs muss die Liste mit geschweiften Klammern umschlossen werden. Beispiel: {keycloak,portal}

Folgende Jobbezeichnungen sind gültig:

  • relution
  • microsoft365
  • nextcloud
  • keycloak
  • portal
  • ctrl
  • kopano
  • puppeteer
  • ldhost
  • shorewall

--with-shorewall

Aktiviert die zusätzliche Erstellung der shorewall_*.txt Datei.


-v VERBOSITY, --verbosity VERBOSITY

Festlegung des Loglevels durch Angabe eines numerischen Werts. Diesen Schalter muss man normalerweise nicht verändern.

  1. Keine Ausgabe
  2. Normal (Standard)
  3. Ausführlich
  4. Debug

2.2 Empfehlung zum Abfragen der Daten

Um die ausgegebenen Informationen zu struturieren, wird empfohlen, die einzelnen Jobs in separate Dateien abzuspeichern. Auf diese Weise wird das Einsehen der früheren LogoDIDACT Einstellungen vereinfacht und es ist sofort ein Bezug zum jeweiligen Modul bzw. zur Einstellung da. Dazu ist es erforderlich, das Python-Skript mehrfach aufzurufen und den jeweiligen Job mit einer eigenen Output-Datei zu verknüpfen.

ldhost
1
2
3
4
5
6
7
JOBS="relution microsoft365 nextcloud keycloak portal ctrl kopano puppeteer ldhost"
cd /root
for job in $JOBS; do \
  python3 /root/exporter_full.py --jobs ${job} -o logodidact_settings_${job}.json; \
done
# Sonderfall Shorewall, hier wird die Regeldatei /etc/shorewall/rules ohne Kommentarzeilen ins Arbeitsverzeichnis kopiert (nicht im JSON-Format)
python3 /root/exporter_full.py --stdout --jobs shorewall --with-shorewall

Unerwünschte Informationen können durch Entfernen eines Jobnamens in der ersten Zeile (Shell-Variable JOBS) übersprungen werden, dann wird keine entsprechende Datei für den Job gesichert.

3. Exportierte Daten auf die LogoDIDACT Backup-Festplatte kopieren

Analog zu den anderen Migrationstools wird empfohlen, die exportierten Dateien auf eine USB-Sicherungsplatte bzw. das Sicherungsmedium zu kopieren.

ldhost
1
2
3
4
5
mount LABEL=USB-BACKUP /mnt
mkdir -p /mnt/logodidact_settings_export
cp -a /root/logodidact_settings_*.json /mnt/logodidact_settings_export/
cp -a /root/shorewall_*.txt /mnt/logodidact_settings_export/
umount /mnt

Die extrahierten Informationen können so auch jederzeit später, d.h. nach der IServ Installation, mittels Texteditor oder JSON-Tools (bspw. jq -r '.extraction.ldhost' logodidact_settings_ldhost.json) von der Backup-Festplatte gelesen werden.

Hinweis

Es ist geplant, im Python-Skript auch Kompatibilität mit LogoDIDACT 2.0 Umgebungen hinzuzufügen. Sobald dieser Schritt erfolgt ist, wird in dieser Anleitung darauf hingewiesen.