LabV SFTP Transfer
Der LabV SFTP Transfer ist ein kleines Server-Tool, das Verzeichnisse überwacht und neue Dateien automatisch an einen konfigurierten SFTP-Server überträgt.
Damit können Labordaten, Messdateien oder andere strukturierte Daten automatisiert in LabV importiert werden – ohne manuelle Uploads.
Diese Seite beschreibt Installation, Konfiguration und Betrieb.
1. Funktionsüberblick
Der LabV SFTP Transfer:
- überwacht ein oder mehrere lokale Verzeichnisse,
- filtert Dateien anhand definierter Dateimuster,
- überträgt passende Dateien per SFTP an einen Zielserver (z. B. LabV-Importserver),
- archiviert oder löscht Dateien nach erfolgreichem Upload,
- schreibt Logdateien für Nachvollziehbarkeit und Fehleranalyse,
- kann einmalig, regelmäßig (Cronjob) oder als Dienst ausgeführt werden.
Der Prozess ist nach der Einrichtung vollständig automatisiert und benötigt keine weitere Interaktion.
2. Installation & Voraussetzungen
2.1 Unterstützte Systeme
- Linux (empfohlen für produktiven Einsatz)
- macOS
- Windows (z. B. über geplante Tasks und Batch-Skripte)
2.2 Technische Voraussetzungen
- Installierte Java Runtime (Version entsprechend Projektdokumentation)
- Lesezugriff auf die überwachten Verzeichnisse
- Schreibrechte im Log-Verzeichnis
2.3 Download
Die jeweils aktuelle Version des Tools steht über GitHub zur Verfügung:
- Repository:
LabV-io/labv-sftp-transfer - Bereich: Releases
Dort wird in der Regel eine ausführbare JAR-Datei bereitgestellt, z. B.:
labv-sftp-transfer.jar
Diese Datei wird zusammen mit einer Konfigurationsdatei (config.yaml) auf dem Zielsystem abgelegt.
3. Konfiguration (config.yaml)
Der LabV SFTP Transfer wird vollständig über eine YAML-Konfigurationsdatei gesteuert.
Typischerweise liegt diese im Unterordner config/.
3.1 Beispielkonfiguration
# Interval in seconds for scanning
intervalSeconds: 300
# Logging configuration
log:
directory: "./log"
enableFileLogging: true
retentionDays: 14
# Folder definitions
folders:
- path: "\\fileserver01\eingangsdaten"
pattern:
- "*.xlsx"
- "*.csv"
postAction: archive
archiveDir: "archive"
# SFTP server configuration
sftp:
host: 18.197.118.68
port: 22
username: "labv-transfer"
privateKeyPath: "/home/labv/.ssh/id_rsa"
remoteDir: "/uploads"
# Eines von beiden:
knownHostsPath: "config/known_hosts"
# trustedHostPublicKey: ""
Hinweis:
Bei Windows-UNC-Pfaden müssen Backslashes im YAML doppelt escaped werden (\\server\share).
3.2 Allgemeine Einstellungen
intervalSeconds
Gibt an, in welchem Zeitabstand Verzeichnisse gescannt werden:
- Beispiel:
300→ alle 5 Minuten
3.3 Logging
Der Block log steuert das Verhalten der Logausgaben:
directory: Zielverzeichnis für LogdateienenableFileLogging:true→ Logausgaben zusätzlich in eine Datei schreibenfalse→ nur Konsolenausgabe
retentionDays: Anzahl Tage, nach denen alte Logdateien automatisch gelöscht werden
Typisches Logdatei-Schema:
log/20250107-labv-sftp-transfer.log
3.4 Verzeichnisüberwachung (folders)
Unter folders werden alle zu überwachenden Verzeichnisse aufgeführt.
Jeder Eintrag hat mindestens:
path: Überwachter Ordner (lokal oder UNC)pattern: Liste mit Dateimustern (z. B.*.csv)postAction: Verhalten nach erfolgreichem UploadarchiveDir: Zielordner bei Archivierung
Beispiel:
folders:
- path: "/data/labv/incoming"
pattern:
- "*.csv"
- "*.xml"
postAction: archive
archiveDir: "archive"
Mögliche Werte für postAction:
archive→ Datei wird nach erfolgreichem Upload inarchiveDirverschobendelete→ Datei wird nach erfolgreichem Upload gelöscht
3.5 SFTP-Konfiguration (sftp)
Der Block sftp definiert die Verbindung zum Zielserver:
host: DNS-Name oder IP-Adresse des SFTP-Serversport: Port des SFTP-Dienstes (typisch22)username: Benutzername für die AnmeldungprivateKeyPath: Pfad zum privaten SSH-SchlüsselremoteDir: Verzeichnis auf dem SFTP-Server, in das Dateien hochgeladen werden
Sicherheitseinstellungen:
knownHostsPath: Pfad zu einerknown_hosts-Datei zur Host-Key-Verifikation
odertrustedHostPublicKey: Alternativ kann der Public Key des Hosts direkt eingetragen werden
4. Start des Programms
4.1 Manuelle Ausführung
java -jar labv-sftp-transfer.jar --config=config/config.yaml
4.2 Startskript unter Linux
#!/bin/bash
cd /opt/labv-sftp-transfer
/usr/bin/java -jar labv-sftp-transfer.jar --config=config/config.yaml
4.3 Batch-Datei unter Windows
cd C:\labv\sftp-transfer
java -jar labv-sftp-transfer.jar --config=config\config.yaml
5. Fehleranalyse & Logging
Logdateien befinden sich im konfigurierten Verzeichnis, z. B.:
./log/20250107-labv-sftp-transfer.log
9. Zusammenfassung
Der LabV SFTP Transfer ermöglicht einen stabilen, automatischen Dateitransfer zu LabV.
Nach der Einrichtung läuft der Prozess vollständig automatisiert und zuverlässig im Hintergrund.