Wiki source code of TCMS - Report für externe Anwendungen bereitstellen
Last modified by Tobias Wintrich on 2025/05/22 12:20
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | Über **"Datei" → "Report exportieren"** lässt sich ein maschinenlesbarer Report im CSV-Format exportieren. Möchte man die Daten regelmäßig in einem externen Programm nutzen, kann der Export mit wenigen Schritten automatisiert werden. Der Report lässt sich dadurch vollständig automatisiert über **HTTP(S)**, **FTP** oder **SMB** bereitstellen oder auf einem Netzlaufwerk ablegen. | ||
2 | |||
3 | {{info}} | ||
4 | __Zuletzt erfolgreich getestet mit:__ | ||
5 | |||
6 | Firmware: x64 -13.00 Build: 052 | ||
7 | TCMS 1.9 - 13.00 Build 007 | ||
8 | {{/info}} | ||
9 | |||
10 | = Konfiguration eines Export-Ordners = | ||
11 | |||
12 | Entscheiden Sie zunächst, ob Sie Ihren Report auf einem Netzlaufwerk ablegen (PUT) oder zum Download für andere Anwendungen (PULL) bereitstellen möchten. | ||
13 | |||
14 | == Report auf ein Netzlaufwerk == | ||
15 | |||
16 | Wenn Sie Ihren Report auf einem Netzlaufwerk ablegen möchten, konfigurieren Sie das Laufwerk in der Kommbox des TCMS unter **„Peripherie“ → „Laufwerke“ → „Neues Netzlaufwerk“**. Laufwerke können hier über **SMB**, **NFS**, **SSH** oder **WebDAV** eingebunden werden. | ||
17 | |||
18 | Anhand des hier vergebenen **Laufwerksnamens** muss im folgenden Schritt der Exportpfad entsprechend angepasst werden: | ||
19 | |||
20 | {{{EXPORT_PATH="/mnt/shares/net/#Laufwerksname#"}}} | ||
21 | |||
22 | [[image:report01.png]] | ||
23 | |||
24 | == Report zum Download freigeben == | ||
25 | |||
26 | Legen Sie das Laufwerk, das Sie zur Freigabe Ihres Reports verwenden möchten, wie in der Anleitung [[RangeeOS - Austauschlaufwerk auf dem Thin Client>>doc:HowTos.RangeeOS - Austauschlaufwerk auf dem ThinClient.WebHome]] beschrieben an. | ||
27 | |||
28 | Anhand des für das Verzeichnis vergebenen **Laufwerksnamens** muss im folgenden Schritt der Exportpfad entsprechend angepasst werden: | ||
29 | |||
30 | {{{EXPORT_PATH="/mnt/shares/local_dir/#Laufwerksname#" }}} | ||
31 | |||
32 | = Konfigurationsexport automatisieren = | ||
33 | |||
34 | Zur Automatisierung des Exports können Sie in der Kommbox des TCMS ein Skript hinterlegen. Im folgenden Beispiel wird ein Report einmalig beim Start des TCMS und anschließend zu jeder vollen Stunde erstellt. Bitte passen Sie EXPORT_PATH und REPORT_FILENAME entsprechend an: | ||
35 | |||
36 | {{{#-------------------------------------Bitte anpassen-------------------------------------# | ||
37 | #Lokales Verzeichnis für den Export. Übernehmen Sie bitte Ihren zuvor definierten EXPORT_PATH | ||
38 | EXPORT_PATH="/mnt/shares/local_dir/#Laufwerksname#" | ||
39 | |||
40 | #Definiert den Dateinamen des Report-Exports - frei wählbar | ||
41 | REPORT_FILENAME="report.csv" | ||
42 | #----------------------------------------------------------------------------------------# | ||
43 | |||
44 | # Dieser Befehl exportiert den TCMS Report in das lokale Verzeichnis | ||
45 | COMMAND="/opt/rangee/tcms/symfony tcms:export-report $EXPORT_PATH/$REPORT_FILENAME" | ||
46 | |||
47 | # Temporäre Datei für den aktuellen Crontab | ||
48 | TEMP_CRON=$(mktemp) | ||
49 | |||
50 | # Aktuellen Crontab in die temporäre Datei schreiben | ||
51 | crontab -l > "$TEMP_CRON" 2>/dev/null | ||
52 | |||
53 | # Prüfen, ob der Befehl bereits im Crontab existiert | ||
54 | grep -F "$COMMAND" "$TEMP_CRON" > /dev/null | ||
55 | if [ $? -eq 0 ]; then | ||
56 | echo "Der Cronjob existiert bereits." | ||
57 | else | ||
58 | # Den neuen Cronjob hinzufügen (jede Stunde) | ||
59 | echo "0 * * * * $COMMAND" >> "$TEMP_CRON" | ||
60 | # Den aktualisierten Crontab laden | ||
61 | crontab "$TEMP_CRON" | ||
62 | fi | ||
63 | |||
64 | # Temporäre Datei löschen | ||
65 | rm "$TEMP_CRON" | ||
66 | |||
67 | # Command einmalig ausführen: | ||
68 | $COMMAND}}} | ||
69 | |||
70 | Das Skript können Sie in der Kommbox unter **„Werkzeuge“ → „Skripte“ → „Neue Verbindung“** hinterlegen. Verwenden Sie dabei die folgenden Einstellungen: | ||
71 | |||
72 | * **Verbindungsname:** frei wählbar | ||
73 | * **Als root ausführen:** ja | ||
74 | * **Skript:** das erstellte Skript einfügen | ||
75 | * **Automatischer Start:** ja | ||
76 | |||
77 | Starten Sie den TCMS anschließend einmal neu. | ||
78 | |||
79 | = Abruf des Reports = | ||
80 | |||
81 | Ein auf einem Netzlaufwerk abgelegter Report ist nach Ausführung des Skripts direkt von dort abrufbar. | ||
82 | |||
83 | Die Abrufoptionen für das lokale Laufwerk sind ebenfalls im Artikel [[RangeeOS - Austauschlaufwerk auf dem Thin Client>>doc:HowTos.RangeeOS - Austauschlaufwerk auf dem ThinClient.WebHome]] beschrieben. Per **HTTPS** können Sie einen über das obige Skript erstellten Report (bei **Laufwerksname="report"**) unter folgender Adresse herunterladen: | ||
84 | |||
85 | {{{https://#Client#/shares/report/report.csv}}} | ||
86 | |||
87 | [[image:share03.png||width="600"]] |