Wiki source code of TCMS - Report für externe Anwendungen bereitstellen
Version 2.1 by Tobias Wintrich on 2025/05/22 10:14
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | Über "Datei" -> "Report Exportieren" lässt sich bereits heute ein Maschinenlesbarer Report in Form einer CSV Datei exportieren. Will man aber Regelmäßig die Daten aus dem TCMS in einem externen Programm nutzen, lässt sich der Export auch in wenigen Schritten automatisieren. Der Export kann hierdurch voll automatisiert über HTTP(s)/FTP oder SMB bereitgestellt, oder auf einem Netzlaufwerk abgelegt werden. | ||
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 | Entschieden Sie sich 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". Als Laufwerk können hier Zeile per "SAMAB", "NFS", "SSH" oder "WebDAV" eingebunden werden. | ||
17 | |||
18 | Anhand des hier vergebenen "Laufwerksnamen" muss im folgenden Schritt der Export Pfad entsprechend gesetzt 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, welches Sie zur Freigabe Ihres Reports nutzen wollen wie unter [[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 "Laufwerksnamen" muss im folgenden Schritt der Export Pfad entsprechend gesetzt angepasst werden. | ||
29 | |||
30 | {{{EXPORT_PATH="/mnt/shares/local/#Laufwerksname#" }}} | ||
31 | |||
32 | = Konfigurationsexport automatisieren = | ||
33 | |||
34 | Zu Automatisierung des Exports können Sie in der Kommbox des TCMS dieses Skript hinterlegen: | ||
35 | |||
36 | FOLDER="report" | ||
37 | |||
38 | # Dieser Befehl exportiert den TCMS Report in das lokale Verzeichnis | ||
39 | COMMAND="/opt/rangee/tcms/symfony tcms:export-report /mnt/shares/local_dir/$FOLDER/report.csv" | ||
40 | |||
41 | # Temporäre Datei für den aktuellen Crontab | ||
42 | TEMP_CRON=$(mktemp) | ||
43 | |||
44 | # Aktuellen Crontab in die temporäre Datei schreiben | ||
45 | crontab -l > "$TEMP_CRON" 2>/dev/null | ||
46 | |||
47 | # Prüfen, ob der Befehl bereits im Crontab existiert | ||
48 | grep -F "$COMMAND" "$TEMP_CRON" > /dev/null | ||
49 | if [ $? -eq 0 ]; then | ||
50 | echo "Der Cronjob existiert bereits." | ||
51 | else | ||
52 | # Den neuen Cronjob hinzufügen (jede Stunde) | ||
53 | echo "0 * * * * $COMMAND" >> "$TEMP_CRON" | ||
54 | # Den aktualisierten Crontab laden | ||
55 | crontab "$TEMP_CRON" | ||
56 | fi | ||
57 | |||
58 | # Temporäre Datei löschen | ||
59 | rm "$TEMP_CRON" | ||
60 | |||
61 | # Command einmalig ausführen: | ||
62 | $COMMAND | ||
63 | |||
64 |