OTIT-AUTO-JOBS – Handbuch

Vollständige Dokumentation für die Einrichtung, Konfiguration und den Betrieb des sequenziellen Script-Schedulers.

1. Übersicht

OTIT-AUTO-JOBS ist ein sequenzieller Script-Scheduler mit integrierter Web-Oberfläche, entwickelt für den Einsatz auf Windows-Servern. Die Software ermöglicht es, PowerShell-, Batch-, JavaScript- und Inline-Skripte zeitgesteuert oder ereignisbasiert auszuführen – zuverlässig und ohne manuellen Eingriff.

Einsatz-Hinweis (JTL-Wawi): OTIT-AUTO-JOBS ist ideal für flankierende Prozesse rund um Ihren JTL-Wawi-Server — Backups, Importe/Exporte, FTP-Transfers, Datei-Überwachung, SQL-Wartung. Das Tool steuert keine Wawi-Events direkt; es greift nicht in die Wawi-Datenbank oder den Worker ein, sondern ergänzt sie auf System-Ebene durch zuverlässige Hilfsprozesse.
Kernfunktionen
  • Sequenzielle Ausführung – Skripte werden nacheinander abgearbeitet, um Ressourcenkonflikte zu vermeiden.
  • Web-UI – Verwaltung und Überwachung über einen modernen Browser unter http://localhost:3847.
  • Inline-Skript-Editor – PowerShell-, Batch-, CMD- oder JavaScript-Code direkt in der Web-UI eingeben — ohne externe Datei.
  • Intervall- und Ordnerüberwachung – Skripte können in festen Zeitintervallen oder beim Erscheinen neuer Dateien in überwachten Ordnern ausgelöst werden.
  • Windows-Dienst – Betrieb als Hintergrunddienst, unabhängig von der Benutzeranmeldung.
  • E-Mail-Benachrichtigungen – Automatische Fehlermeldungen per SMTP.
Job-Modi im Überblick
  • Intervall-Modus – Zeitgesteuerte Ausführung von PowerShell-, Batch-, CMD- und JavaScript-Skripten (extern oder inline) in frei wählbaren Intervallen. Prioritätsbasierte Warteschlange, Timeout-Überwachung, sequenzielle Verarbeitung.
  • Watch-Modus – Automatische Skriptausführung bei Erscheinen neuer Dateien in überwachten Ordnern. Einstellbarer Verzögerungs-Delay nach Erkennung. Ideal für Import-Workflows und Datei-basierte Trigger.
  • FTP-Modus – Automatisierter Dateitransfer per FTP, FTPS (TLS) und SFTP (SSH). Upload und Download, Dateifilter, rekursive Verarbeitung, Quell-Handling (Löschen/Verschieben/Belassen), Remote-Verschieben nach Upload, konfigurierbares Retry. Optional mit Watch-Ordner als zusätzlicher Trigger.
  • Copy/Sync-Modus – Lokales Kopieren, Verschieben und Synchronisieren von Dateien und Verzeichnissen. Inkrementelle Erkennung (nach Zeit/Größe), Dateifilter, Ausschlussmuster, Konfliktbehandlung. Optional mit Watch-Ordner als zusätzlicher Trigger.
  • SQL Backup – Automatisches Backup von SQL Server Datenbanken über sqlcmd. Vollständiges Datenbank-Backup oder Tabellen-Export als CSV. Kompression, Verifizierung, Aufbewahrungsverwaltung (Retention).

2. Installation

Systemvoraussetzungen

Installationsschritte

  1. Laden Sie die aktuelle Setup.exe von otit.digital/auto herunter.
  2. Führen Sie die Datei aus und wählen Sie das gewünschte Installationsverzeichnis.
  3. Schließen Sie den Assistenten ab. Die Anwendung ist sofort einsatzbereit.
Der Installer prüft bei jedem Start automatisch auf verfügbare Updates und aktualisiert die Anwendung bei Bedarf – eine manuelle Aktualisierung ist in der Regel nicht erforderlich.

3. Erste Schritte

  1. Öffnen Sie die Web-Oberfläche in Ihrem Browser unter http://localhost:3847.
  2. Klicken Sie auf die Schaltfläche +, um ein neues Skript hinzuzufügen.
  3. Wählen Sie die Script-Datei über den integrierten Dateibrowser aus oder geben Sie den Pfad manuell ein.
  4. Legen Sie das Ausführungsintervall fest (Minuten oder Stunden).
  5. Definieren Sie bei Bedarf einen Timeout-Wert, nach dessen Ablauf das Skript abgebrochen wird.
  6. Speichern Sie die Konfiguration – das Skript wird sofort eingeplant.
Schnellstart-Beispiel

Ein Backup-Script alle 60 Minuten mit 5 Minuten Timeout:

Name:      Backup-Daily
Pfad:      C:\Scripts\backup.ps1
Intervall: 60 Minuten
Timeout:   300 Sekunden
Status:    Aktiv

4. Script-Konfiguration

Die Konfiguration aller Skripte wird intern in einer CSV-Datei gespeichert. Sie können die Konfiguration über die Web-UI bearbeiten oder die CSV-Datei direkt anpassen.

CSV-Felder

Die Konfiguration liegt unter config/scripts.csv (Semikolon-getrennt, UTF-8). Die Web-UI ist die empfohlene Bearbeitungsstelle — ein direkter Editier-Eingriff in die CSV ist möglich, sollte aber nur bei gestopptem Dienst erfolgen.

SpalteBeschreibungBeispiel
pfadVerzeichnis der Skript-Datei oder Marker (siehe unten)C:\Scripts · <inline> · [FTP] · [SQL] · [COPY]
dateiDateiname mit Endung (.ps1/.bat/.cmd/.js)backup.ps1
intervall_minAusführungsintervall in Minuten (bei Modus intervall)60
aktiv1 aktiv, 0 deaktiviert1
prioritaetPriorität in der Warteschlange (kleiner = höher)10
timeout_minMaximale Laufzeit in Minuten5
modusintervall, watch, ftp, sql, copyintervall
watch_ordnerZu überwachender Ordnerpfad (bei Modus watch)C:\Import\Inbox
beschreibungAnzeigename in der Web-UIBestand abgleichen
zeitplanZeitplan-Definition (siehe Kapitel 8)daily:03:00
watch_delayVerzögerung in Sekunden nach Datei-Erkennung30
log_levelnormal, verbose, error, offnormal
log_retentionPro-Task-Aufbewahrung (leer = global)runs:10

Pfad-Marker

Integrierter Dateibrowser

Beim Hinzufügen oder Bearbeiten eines Skripts steht ein Dateibrowser zur Verfügung. Navigieren Sie durch das Dateisystem und wählen Sie die gewünschte .ps1-, .bat-, .cmd- oder .js-Datei direkt aus. Der vollständige Pfad wird automatisch übernommen.

Inline-Skript-Editor

Statt eine externe Datei zu pflegen, können Sie den Skript-Code direkt in der Web-UI eingeben. Beim Anlegen oder Bearbeiten eines Tasks (Modus Intervall oder Watch) wählen Sie unter Skript-Quelle die Option Inline-Skript.

Unterstützte Sprachen
SpracheEndungInterpreterBemerkung
PowerShell.ps1pwsh.exe bzw. powershell.exeStandard auf jedem Windows-Server
Batch.batcmd.exe /cKlassische Befehlsketten
CMD.cmdcmd.exe /cIdentisch zu .bat
JavaScript.jsnode.exeNode ist Teil der Installation, kein Extra-Setup

Wie funktioniert das technisch?

Der Inline-Code wird beim Speichern in einem verwalteten Verzeichnis als Datei abgelegt:

<Installationsverzeichnis>\config\inline-scripts\<dateiname>.<ext>

Der Dateiname wird automatisch aus der Beschreibung des Tasks und der gewählten Sprache abgeleitet (z. B. tagesabgleich.ps1). Der bestehende Skript-Lauf-Mechanismus wird unverändert verwendet – der Code im Editor und der Code in einer manuell gepflegten .ps1-Datei sind funktional identisch.

Vorteile gegenüber externer Datei

Wann eine externe Datei besser ist

Sie können jederzeit zwischen Inline und externer Datei wechseln. Die Inline-Datei bleibt im verwalteten Verzeichnis erhalten, bis Sie den Task löschen oder die Quelle umstellen.

5. Windows-Dienst

OTIT-AUTO-JOBS kann als Windows-Dienst installiert werden, sodass Skripte auch ohne angemeldeten Benutzer und ohne geöffnete GUI im Hintergrund ausgeführt werden.

Dienst installieren

install-service.bat

Führen Sie die Datei als Administrator aus dem Installationsverzeichnis aus. Der Dienst wird unter dem Namen OTIT-AUTO-JOBS registriert und automatisch gestartet.

Dienst deinstallieren

uninstall-service.bat

Stoppt den Dienst und entfernt ihn aus der Windows-Dienstverwaltung.

Beide Batch-Dateien müssen mit Administratorrechten ausgeführt werden. Klicken Sie mit der rechten Maustaste und wählen Sie „Als Administrator ausführen“.

Dienststatus prüfen

sc query "OTIT-AUTO-JOBS"

6. E-Mail-Benachrichtigungen

Sie können sich per E-Mail über Fehler bei der Skriptausführung benachrichtigen lassen. In der Free Edition (ab v1.4.0) ist diese Funktion ohne weitere Aktivierung verfügbar.

SMTP-Konfiguration

Öffnen Sie in der Web-UI den Bereich Settings und tragen Sie die SMTP-Daten ein:

FeldBeschreibung
SMTP-ServerHostname des Mailservers, z. B. smtp.example.com
PortIn der Regel 587 (STARTTLS) oder 465 (SSL)
BenutzernameSMTP-Login
PasswortSMTP-Passwort
AbsenderAbsender-Adresse
EmpfängerZieladresse(n) für Benachrichtigungen

Fehlerschwelle und Rate-Limiting

Nutzen Sie die Schaltfläche Test-Mail senden in den Einstellungen, um die SMTP-Konfiguration zu überprüfen.

7. Lizenz & Haftung

OTIT-AUTO-JOBS steht ab Version 1.4.0 (Free Edition) unter der MIT-Lizenz – kostenfrei und mit allen Funktionen. Es gibt keine Lizenzschlüssel, kein Abo, keine Funktions-Beschränkung und keine Telemetrie.

Was die MIT-Lizenz bedeutet
  • Frei nutzbar – auch kommerziell, in beliebig vielen Installationen, ohne Anmeldung.
  • Frei modifizierbar – der Quellcode kann angepasst und weitergegeben werden, solange Copyright-Hinweis und Lizenztext erhalten bleiben.
  • Ohne Gewährleistung – die Software wird "AS IS" bereitgestellt. Keine Zusicherung von Eignung, Verfügbarkeit oder Fehlerfreiheit.
  • Ohne Haftung – weder Autoren noch Rechteinhaber haften für Datenverlust, entgangenen Gewinn, Betriebsunterbrechungen oder andere Schäden, soweit gesetzlich zulässig.
Hinweis zur Verantwortung: Bevor Sie OTIT-AUTO-JOBS in produktiven Systemen einsetzen, prüfen Sie die ausgeführten Skripte und Backup-Strategien sorgfältig. Sie sind allein verantwortlich für Datensicherung, Sicherheit und Korrektheit Ihrer Workflows.

Drittanbieter-Lizenzen

OTIT-AUTO-JOBS verwendet Open-Source-Komponenten unter MIT, BSD, Apache 2.0 und ISC (u. a. express, basic-ftp, ssh2-sftp-client, nodemailer, node-windows, bytenode). Eine vollständige Liste finden Sie in der Datei THIRD_PARTY_LICENSES.md im Installationsverzeichnis.

Quellcode & Spende

Der vollständige Lizenztext liegt unter LICENSE im Installationsverzeichnis. Wenn das Tool Ihnen im Alltag hilft, freuen wir uns über eine freiwillige Spende: otit.digital/spende.

8. Zeitplan

Neben dem klassischen Intervall-Modus bietet OTIT-AUTO-JOBS flexible Zeitplan-Optionen für alle Task-Typen.

Zeitplan-Modi

ModusBeschreibungBeispiel
IntervallFestes Zeitintervall in MinutenAlle 30 Minuten
TäglichEinmal täglich zu einer bestimmten UhrzeitJeden Tag um 03:00
WöchentlichAn bestimmten Wochentagen zu einer UhrzeitMontag und Freitag um 08:00
MonatsletzterAm letzten Tag jedes MonatsLetzter Tag um 23:00

Konfiguration

Der Zeitplan wird im Task-Editor unter Zeitplan festgelegt. Bei „Intervall“ wird das bestehende Intervall-Feld in Minuten verwendet. Bei allen anderen Modi wählen Sie die gewünschte Uhrzeit und ggf. die Wochentage.

Der Zeitplan gilt für alle Task-Modi – auch FTP-, Copy- und SQL-Tasks können zeitplanbasiert ausgeführt werden.

9. Watch-Modus

Im Watch-Modus überwacht OTIT-AUTO-JOBS einen konfigurierten Ordner. Sobald eine neue Datei in diesem Ordner erscheint, wird das zugeordnete Skript automatisch ausgelöst.

Einrichtung

  1. Aktivieren Sie beim gewünschten Skript die Option Watch-Modus.
  2. Geben Sie den zu überwachenden Ordnerpfad an (z. B. C:\Import\Inbox).
  3. Speichern Sie die Änderung.

Funktionsweise

Verzögerung (Delay)

Optional kann ein Watch-Delay (in Sekunden) konfiguriert werden. Nach Erkennung einer neuen Datei wartet der Scheduler die eingestellte Zeit ab, bevor der Task ausgelöst wird. Das verhindert, dass noch nicht fertig geschriebene Dateien verarbeitet werden.

Watch-Ordner für FTP- und Copy-Tasks

Die Watch-Funktion ist nicht auf den Watch-Modus beschränkt. Auch FTP-Upload- und Copy/Sync-Tasks können zusätzlich einen Watch-Ordner konfigurieren. Erscheint eine neue Datei im Watch-Ordner, wird der Transfer-Task ausgelöst – zusätzlich zum eingestellten Zeitplan.

Stellen Sie sicher, dass das Dienstkonto Lesezugriff auf den überwachten Ordner hat, wenn der Watch-Modus im Dienst-Betrieb genutzt wird.

10. FTP-Modus

Der FTP-Modus ermöglicht den automatisierten Dateitransfer zwischen lokalen Verzeichnissen und FTP-Servern. Drei Protokolle werden unterstützt:

ProtokollPort (Standard)Verschlüsselung
FTP21Keine
FTPS21TLS/SSL
SFTP22SSH

Transfer-Optionen

Nach dem Transfer

Verbindungstest

Vor dem Speichern eines FTP-Tasks ist ein Verbindungstest Pflicht. Der Test prüft:

  1. Verbindungsaufbau zum Server
  2. Navigation zum Remote-Verzeichnis
  3. Upload einer Testdatei
  4. Ändern der Testdatei (Schreibrechte)
  5. Löschen der Testdatei (Löschrechte)
  6. Bei „Remote verschieben“: Erstellt einen Testordner, verschiebt die Datei dorthin, verifiziert und räumt den Testordner wieder auf.
FTP-Zugangsdaten werden verschlüsselt (AES-256-GCM) auf dem lokalen System gespeichert und sind an die Hardware gebunden.

11. Copy/Sync-Modus

Der Copy/Sync-Modus ermöglicht das automatische Kopieren, Verschieben und Synchronisieren von Dateien und Verzeichnissen auf dem lokalen System oder im Netzwerk.

Operationen

OperationBeschreibung
KopierenDateien von Quelle nach Ziel kopieren. Originale bleiben erhalten.
VerschiebenDateien von Quelle nach Ziel verschieben. Originale werden gelöscht.
SynchronisierenZielverzeichnis wird mit dem Quellverzeichnis abgeglichen. Geänderte und neue Dateien werden übertragen.

Filter & Optionen

Synchronisation

Copy/Sync-Tasks können zusätzlich einen Watch-Ordner konfigurieren. Erscheint dort eine neue Datei, wird der Task sofort ausgelöst – zusätzlich zum Zeitplan.

12. SQL Server Backup

Der SQL-Modus erstellt automatische Backups von Microsoft SQL Server Datenbanken. Die Kommunikation erfolgt über das Kommandozeilen-Tool sqlcmd, das mit SQL Server mitgeliefert wird.

Voraussetzungen

Backup-Typen

ScopeBeschreibungErgebnis
Ganze DatenbankBACKUP DATABASE mit Kompression und Prüfsumme.bak-Datei
Einzelne TabellenSELECT * FROM [Table] WITH (NOLOCK) – Deadlock-sicher.csv-Dateien pro Tabelle

Optionen

Verbindungstest

Beim Einrichten eines SQL-Tasks steht ein Verbindungstest zur Verfügung, der:

  1. Die Verbindung zum SQL Server prüft (SELECT @@version)
  2. Verfügbare Datenbanken auflistet (für die Auswahl im Dropdown)
  3. Tabellen der gewählten Datenbank lädt (für Einzel-Tabellen-Backup)
SQL-Zugangsdaten werden verschlüsselt (AES-256-GCM) auf dem lokalen System gespeichert. Stellen Sie sicher, dass sqlcmd im PATH erreichbar ist – andernfalls schlägt der Verbindungstest fehl.

13. Logging

OTIT-AUTO-JOBS führt ein umfassendes Protokoll aller Aktivitäten.

Scheduler-Log

Das zentrale Log unter logs/scheduler.log protokolliert alle Scheduler-Ereignisse: Start, Stopp, Script-Ausführungen, Fehler und Warteschlangenaktivitäten. Bei Erreichen von 10 MB wird die Datei automatisch rotiert und archiviert.

Script-Logs

Jedes Script erhält eigene Logdateien im Format logs/scripts/{Scriptname}.{Datum}.log. Die Ausgabe (stdout/stderr) jeder Ausführung wird dort vollständig protokolliert.

Log-Aufbewahrung

In den Einstellungen kann die Log-Aufbewahrung konfiguriert werden:

Die Log-Bereinigung erfolgt automatisch alle 6 Stunden. Über die Web-UI können Logs jederzeit eingesehen und nach Datum gefiltert werden.

14. Updates

OTIT-AUTO-JOBS prüft beim Start der Setup.exe automatisch, ob eine neue Version verfügbar ist. Im Hintergrund läuft kein automatischer Update-Check – das ist Absicht: ab v1.4.0 (Free Edition) gibt es keinen Server-Heartbeat und keine Telemetrie.

Update-Verfahren

Schutz der Konfiguration

Ab Version 1.4.0 sind Kundendaten ausdrücklich vom Update ausgeschlossen und werden niemals überschrieben. Konkret betroffen sind:

Manuelles Update jederzeit möglich: Setup.exe doppelt klicken – sie erkennt die bestehende Installation, holt nur die Delta und aktualisiert. Eine Sicherung des config/-Ordners vor größeren Updates ist trotzdem empfohlen.

Änderungsübersicht

v1.5.0 — Mai 2026

v1.4.3 — Mai 2026

v1.4.2 — Mai 2026

v1.4.0 — Mai 2026

15. FAQ / Fehlerbehebung

Port 3847 ist bereits belegt

Eine andere Anwendung verwendet bereits den Standardport. Prüfen Sie mit folgendem Befehl, welcher Prozess den Port belegt:

netstat -ano | findstr :3847

Beenden Sie den störenden Prozess oder konfigurieren Sie OTIT-AUTO-JOBS auf einen alternativen Port.

Der Windows-Dienst startet nicht

Skripte werden nicht ausgeführt

Firewall blockiert den Zugriff

Wenn Sie von einem anderen Rechner im Netzwerk auf die Web-UI zugreifen möchten, muss Port 3847 in der Windows-Firewall freigegeben werden:

netsh advfirewall firewall add rule name="OTIT-AUTO-JOBS" ^
  dir=in action=allow protocol=tcp localport=3847

E-Mails werden nicht versendet