Stiller Download von STRATO-Logfiles

Lokale Anleitung für den täglichen Download der STRATO-Logfiles aus beliebig vielen STRATO-Paketen.

Zweck

Der Batch liest die STRATO-Paketliste, öffnet jedes gefundene Paket und prüft dort, ob eine Statistik-Funktion vorhanden ist. Wenn keine Statistik vorhanden ist, geht der Batch ohne Fehler zum nächsten Paket weiter. Wenn Statistik und Logfiles vorhanden sind, wird der erwartete Dateiname ermittelt. Ist diese Datei im lokalen Paketordner schon vorhanden, wird sie nicht noch einmal heruntergeladen. Fehlt sie, wird das aktuelle Logfile direkt in den lokalen Paketordner geschrieben.

Die unten genannten Pakete sind nur Beispiele aus der aktuellen Einrichtung. Das Werkzeug ist nicht auf diese Pakete beschränkt und kann beliebig viele Pakete aus der STRATO-Liste verarbeiten.

BeispielpaketTypisches Verhalten
STRATO Domain .de (Aktion LZ12) [5944556]Wird geöffnet und geprüft. Wenn keine Statistik sichtbar ist, wird dieses Paket als ohne Statistik protokolliert und der nächste Eintrag bearbeitet.
STRATO Hosting Plus [1280453]Wenn Statistik und Logfiles vorhanden sind, wird das Logfile heruntergeladen, sofern die Zieldatei nicht bereits existiert.
STRATO Hosting Pro (Treue-Angebot) [230295]Wird auch gefunden, wenn es weiter unten in der STRATO-Paketliste steht.

Download

Für die Weitergabe liegt ein ZIP mit den wichtigen Dateien bereit:

strato-log-batch-paket.zip herunterladen

Das ZIP enthält die Batch-EXEs, das Setup, Aufgabenplanungs-Skripte, diese Dokumentation und die Quellskripte zur Nachvollziehbarkeit. Browserprofil und strato_login_credentials.dpapi.json werden absichtlich nicht mitgeliefert, weil sie persönliche Sitzungs- oder Zugangsdaten enthalten können.

Für normale Nutzung gibt es dist\StratoLogsSetup.exe. Das Setup installiert nach %LOCALAPPDATA%\Programs\AmrumSoftware\StratoLogs und legt echte .lnk-Startmenüverknüpfungen mit Icon unter AmrumSoftware\StratoLogs an.

Wichtige Dateien

DateiBedeutung
dist\StratoLogBatchSilent.exeStiller Lauf ohne Konsolenfenster. Geeignet für manuelle Hintergrundläufe.
dist\StratoLogBatch.exeSichtbarer Konsolenlauf zum Testen und zur Fehlersuche. Der Aufgaben-Wrapper startet diese EXE verborgen, damit er zuverlässig auf das Ende warten kann.
strato_batch_task.ps1Wrapper für die Windows-Aufgabenplanung. Startet den Batch verborgen und zeigt nur bei Fehlern ein Fenster.
install_strato_daily_task.ps1Legt die tägliche Windows-Aufgabe um 06:31 Uhr an oder aktualisiert sie.
diagnose_starten.cmdStartet die STRATO-Erkennungsprüfung ohne PowerShell-Kenntnisse per Doppelklick.
dist\StratoLogsSetup.exeInstalliert das Werkzeug lokal und legt .lnk-Startmenüverknüpfungen für Lauf, Diagnose, Aufgabenplanung, Website, Auswertungsprogramm und Dokumentation an.
release_manifest.jsonEnthält Build-Datum, Git-Commit, EXE-Größen und Hashdaten des Release-Builds.
strato_batch_run.logFortschrittslog des letzten Laufs.
strato_batch_report.txt und strato_batch_report.jsonErgebnisbericht des letzten Laufs.
strato_morgenlauf_pruefung.txt und strato_morgenlauf_pruefung.jsonAutomatische Prüfung, ob ein Aufgabenlauf im Morgenfenster lief, ein frisches Batch-Profil nutzte, den Browser maximierte und die Logfiles-/Downloadseite erreichte.
strato_fehlerberichte\...Lokaler HTML-Fehlerbericht mit Browser-Tab-Screenshots und, falls ffmpeg verfuegbar ist, einem Fehlerfilm. Wird nur bei Fehlern behalten.
strato_login_credentials.dpapi.jsonLokal verschluesselte STRATO-Zugangsdaten fuer diesen Windows-Benutzer. Nicht weitergeben und nicht versionieren.
browser-profile-playwrightLokales Chrome-Profil auf diesem Rechner. Nicht weitergeben, weil es persönliche Browserdaten enthalten kann.
browser-profile-batch-runs\...Lokale kurzlebige Tagesprofile fuer geplante Laeufe. Sie verhindern, dass alte Chrome-Profil-Locks den Batch blockieren.
browser-profile-batchLokales dauerhaftes Ersatzprofil, falls ein frisches Tagesprofil nicht startet.

Ablauf im Hintergrund

  1. Der Batch startet einen steuerbaren Chrome for Testing mit eigenem Profil und lokalem Debug-Port 9223, falls noch kein passender Browser laeuft. Fuer geplante Laeufe wird zuerst ein frisches Profil unter browser-profile-batch-runs genutzt.
  2. Wenn STRATO die Loginseite zeigt, fuellt der Batch die Loginfelder mit lokal per Windows-DPAPI verschluesselten Zugangsdaten. Falls noch keine Daten vorhanden sind oder STRATO sie ablehnt, erscheint ein Eingabefenster.
  3. Die Datei strato_login_credentials.dpapi.json gehoert nur auf diesen Rechner und zu diesem Windows-Benutzer.
  4. Cookie-Dialoge wie Zustimmen und schließen werden automatisch geschlossen.
  5. Die Paketliste wird vollständig gelesen. Dabei wird auch nach unten gescrollt, damit weiter unten stehende Pakete gefunden werden.
  6. Jedes Paket wird geöffnet. Der Batch prüft dort, ob eine Statistik-Funktion vorhanden ist.
  7. Wenn keine Statistik vorhanden ist, wird das Paket protokolliert und der Batch fährt mit dem nächsten Paket fort.
  8. Wenn Statistik vorhanden ist, wird Logfiles geöffnet und zuerst geprüft, ob die erwartete lokale Logdatei schon existiert.
  9. Vorhandene Dateien werden nicht erneut gespeichert; der Batch protokolliert den Status already_exists.
  10. Fehlende Logfiles werden direkt über die eingeloggte STRATO-Sitzung gespeichert.
  11. Bei Erfolg werden Report und Morgenlauf-Prüfung aktualisiert. Es erscheint keine Meldung.
  12. Bei Fehlern bleiben bis zu 600 Browser-Tab-Screenshots erhalten; daraus wird mit 10 Bildern pro Sekunde ein Fehlerfilm erzeugt, wenn ffmpeg verfuegbar ist.
  13. Bei Fehlern öffnet der Batch eine lokale HTML-Seite unter strato_fehlerberichte. Der Aufgaben-Wrapper zeigt zusätzlich ein Windows-Fenster mit den letzten Logzeilen und einem Button zum Kopieren des kompletten Fehlertexts.
Der Download wird nicht über den nativen Chrome-Dialog gespeichert. Der Batch liest das STRATO-Formular, übernimmt die Sitzungscookies aus Chrome und schreibt die .gz-Datei selbst in den Paketordner.

Manueller Test

Für einen sichtbaren Testlauf mit Fortschrittsausgabe:

cd /d E:\codex\strato-logs
dist\StratoLogBatch.exe

Für einen stillen manuellen Lauf:

cd /d E:\codex\strato-logs
dist\StratoLogBatchSilent.exe

Der stille Lauf erzeugt keine Erfolgsmeldung. Das Ergebnis steht danach in strato_batch_report.txt und strato_batch_run.log.

Windows-Aufgabenplanung

Die Aufgabe heißt STRATO Log Batch taeglich und startet jeden Morgen um 06:31. Sie läuft nur, wenn der Benutzer angemeldet ist. Das ist notwendig, weil das Browserprofil, die per Windows-DPAPI geschuetzten Zugangsdaten und Fehlerfenster zur Benutzersitzung gehören.

Wenn die Windows-ScheduledTasks-Cmdlets verfügbar sind, wird die Aufgabe mit StartWhenAvailable angelegt. Ein verpasster Start wird dann nachgeholt, sobald der Benutzer wieder angemeldet ist. Falls Windows auf den schtasks.exe-Fallback ausweicht, sollte ein verpasster Start in der Aufgabenplanung manuell geprüft oder der Batch sichtbar gestartet werden.

Installation oder Aktualisierung der Aufgabe:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File "E:\codex\strato-logs\install_strato_daily_task.ps1"

Der eigentliche Aufgabenaufruf ist:

powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File "E:\codex\strato-logs\strato_batch_task.ps1"

Erfolg: Keine Meldung. Fehler: Ein Windows-Fenster erscheint mit Fehlertext, letzten Logzeilen, den wichtigsten Diagnosepfaden und einem Button Text kopieren.

Fehlersuche

Kein Fehlerfenster, aber keine neuen Dateien

strato_batch_run.log und strato_batch_report.txt prüfen. Bei Erfolg legt der Batch neue Dateien in den Paketordnern ab. Wenn die erwartete Datei schon vorhanden ist, wird sie nicht erneut gespeichert und als already_exists protokolliert.

Fehlerfenster: Login oder Paketliste nicht gefunden

Den sichtbaren Testlauf oder diagnose_starten.cmd starten. Wenn noch keine lokal verschluesselten Zugangsdaten vorhanden sind oder STRATO die vorhandenen Daten ablehnt, fragt der Batch Benutzername/Kundennummer und Passwort in einem Fenster ab.

Wenn STRATO Zugangsdaten nicht erkannt meldet, fragt der Batch die Zugangsdaten erneut ab. Erst wenn die Meldung mehrfach stehen bleibt, wird der Lauf als Fehler gemeldet.

Cookie-Dialog blockiert

Der Batch versucht Cookie-Dialoge automatisch zu schließen. Wenn STRATO den Dialog ändert, einmal sichtbar testen und den Buttontext prüfen.

STRATO ändert die Seitenstruktur

Für fremde Anwender gibt es einen Prüflauf ohne Download:

diagnose_starten.cmd

Alternativ per Konsole:

cd /d E:\codex\strato-logs
dist\StratoLogBatch.exe --diagnose

Der Prüflauf öffnet die Paketliste, prüft jedes Paket und schreibt strato_erkennung_pruefung.txt. Wenn dort ERROR steht, enthält die Datei die sichtbaren STRATO-Klicktexte. Diese Textdatei reicht für eine gezielte Anpassung der Erkennung; der Anwender muss nicht selbst im Skript suchen.

Weitergabe an einen anderen Anwender

  1. Das ZIP entpacken, zum Beispiel nach E:\codex\strato-logs oder in einen anderen lokalen Arbeitsordner.
  2. Ein eigenes steuerbares Chrome-Profil anlegen oder den Browser über den Batch starten.
  3. Beim ersten Lauf Benutzername/Kundennummer und Passwort im Zugangsdatenfenster eingeben.
  4. Mit dist\StratoLogBatch.exe sichtbar testen.
  5. Wenn der sichtbare Test erfolgreich ist, install_strato_daily_task.ps1 ausführen.
Zugangsdaten werden nicht in den Skripten, Logs, Reports oder im ZIP gespeichert. Sie liegen in strato_login_credentials.dpapi.json lokal per Windows-DPAPI verschluesselt fuer den jeweiligen Windows-Benutzer.