Technologieführer

Python-Skripte mit Windows Task Scheduler automatisieren

5 min read Automatisierung Aktualisiert 19 Sep 2025
Python mit Task Scheduler automatisieren
Python mit Task Scheduler automatisieren

Schedule Python Scripts

Gut zu wissen: Wenn Sie macOS verwenden, sieht die Vorgehensweise anders aus (Launchd / cron / Automator). Dieser Artikel konzentriert sich auf Windows Task Scheduler.

Was Sie erreichen können

  • Tägliche, wöchentliche oder einmalige Ausführung von Python-Skripten
  • Ausführung im Hintergrund, auch wenn Sie nicht eingeloggt sind
  • Einfache Fehlerbehebung bei Pfad- oder Berechtigungsproblemen

Direktes Planen eines Python-Skripts im Task Scheduler

Windows Task Scheduler (Aufgabenplanung) ermöglicht die Ausführung Ihres Python-Skripts nach Zeitplan. So gehen Sie vor:

  1. Drücken Sie Win + R, geben Sie taskschd.msc ein und drücken Sie Enter, um den Task Scheduler zu öffnen.

Open Task Scheduler

  1. Wechseln Sie zur Registerkarte Aktionen (oder links zu Task Scheduler Library) und klicken Sie auf Erstellen einer Grundaufgabe… um einen neuen Zeitplan anzulegen.

Create Basic Task

  1. Geben Sie der Aufgabe einen Namen und eine Beschreibung und klicken Sie auf Weiter.

Provide Task Name Description

  1. Wählen Sie den Zeitpunkt des Starts (Täglich, Wöchentlich, Einmalig etc.) und klicken Sie auf Weiter.

When You Want Task To Start

  1. Datum und Uhrzeit einstellen und bei Aktion Starten eines Programms wählen.

Select Action To Be Performed

  1. Tragen Sie im Feld Programm/Skript den Pfad zur Python-Exe ein (z. B. C:\Python39\python.exe). Im Feld Argumente geben Sie den vollen Pfad zu Ihrem Skript an (z. B. C:\Scripts\mein_script.py).

Specify Python Executable Path

  1. Überprüfen Sie die Einstellungen und klicken Sie auf Fertig stellen.

Review The Settings

Ihr Skript führt Windows nun automatisch zur geplanten Zeit aus.

Alternative: Python-Skript über eine Batch-Datei starten

Viele Nutzer erstellen lieber eine Batch-Datei (.bat), um Pfad- und Umgebungsprobleme zu vermeiden. Beispiel für eine einfache Batch-Datei:

@echo off  
"C:\Path\to\python.exe" "C:\Path\to\your_script.py"  
pause
  • Ersetzen Sie den ersten Pfad durch Ihre Python-Executable, den zweiten durch den Pfad zum Skript.
  • Der Befehl pause hält das Fenster offen, sodass Sie Fehlerausgabe sehen können (bei geplanten Aufgaben kann man pause weglassen).

Wenn Sie den Python-Standort nicht kennen, öffnen Sie die Eingabeaufforderung und führen Sie aus:

where python

Check Python Path

Mehrere Treffer sind möglich (System, Benutzerinstallationen, virtuelle Umgebungen). Wählen Sie die passende Python-Installation für Ihr Skript. Speichern Sie die Datei als mein_task.bat und planen Sie diese Datei dann im Task Scheduler wie oben beschrieben.

Aufgabe so konfigurieren, dass sie zuverlässig läuft

Öffnen Sie Task Scheduler Library, rechtsklicken Sie auf Ihre Aufgabe und wählen Sie Eigenschaften.

Open Task Properties

Unter dem Reiter Allgemein:

  • Wählen Sie Ausführen, unabhängig davon, ob der Benutzer angemeldet ist oder nicht.
  • Aktivieren Sie Falls nötig Mit höchsten Privilegien ausführen, wenn Admin-Rechte erforderlich sind.

Update Task Properties

Unter Bedingungen:

  • Deaktivieren Sie Nur starten, wenn Computer am Netzstrom ist, falls Sie Laptops verwenden und möchten, dass die Aufgabe auch bei Batteriebetrieb läuft.

Update Conditional Task Properties

Klicken Sie OK und geben Sie ggf. Ihr Benutzerpasswort ein, damit die geplante Aufgabe die Berechtigung zum Ausführen im Hintergrund erhält.

Wichtig: Wenn Ihr Skript auf Netzlaufwerke zugreift, muss der Task mit einem Konto laufen, das Zugriff auf diese Laufwerke hat, oder Sie sollten Laufwerke im Skript mit Netzpfaden mounten.

Ausführung prüfen und Fehler beheben

Starten Sie die Aufgabe manuell zur Überprüfung: Rechtsklick auf die Aufgabe → Ausführen.

Run Task To Confirm Working

Überprüfen Sie die Ausgabe-Logs Ihres Skripts oder loggen Sie Ausgaben in eine Datei, z. B.:

# Beispiel: logging in Datei
import logging
logging.basicConfig(filename='C:\Logs\mein_script.log', level=logging.INFO)
logging.info('Skript gestartet')

Verify Task Output

Häufige Fehler und Checks:

  • Pfad zur python.exe oder zum Skript falsch (prüfen mit where python und absolute Pfade verwenden)
  • Virtuelle Umgebung nicht aktiviert (verwenden Sie den Python-Interpreter aus der venv)
  • Fehlende Berechtigungen (Run whether user is logged on or not; highest privileges)
  • Umgebungsvariablen oder Netzlaufwerke sind beim geplanten Benutzer nicht verfügbar

Zusätzliche Tipps und Best Practices

  • Verwenden Sie absolute Pfade immer in Task Scheduler und in Skripten.
  • Loggen Sie Standardausgabe und Fehlerausgabe in Dateien, damit Fehlersuche später möglich ist.
  • Für GUI-nahe Skripte nutzen Sie pythonw.exe, um kein Konsolenfenster zu öffnen.
  • Testen Sie den Task mit einem temporären, kurzen Zeitplan, bevor Sie ihn in Produktion nehmen.

Entscheidungshilfe: Wann Task Scheduler und wann Alternativen

flowchart TD
  A[Brauche geplante Ausführung?] -->|Ja| B{Intervall}
  B -->|Einfach täglich/wöchentlich| C[Task Scheduler]
  B -->|Komplexe Abhängigkeiten| D[Orchestrator 'Airflow/Cronicle']
  B -->|Containerbetrieb| E[Docker + cron / Kubernetes CronJob]
  A -->|Nein| F[Manuelle Ausführung oder Webhook]

Alternative Ansätze

  • Docker / Kubernetes CronJob: Besser für reproduzierbare, isolierte Umgebungen und bei mehreren Abhängigkeiten.
  • Systemdienst (Windows Service): Wenn ein Daemon dauerhaft laufen und ständig überwachen soll.
  • Cloud-Planer (AWS Lambda / CloudWatch Events, Azure Functions): Für Skalierung und entfernte Ausführung ohne lokale Infrastruktur.

Mini-Methodologie für Produktionsreife Aufgaben

  1. Entwickeln lokal mit virtueller Umgebung.
  2. Logs und Exit-Codes definieren (0 = OK, >0 = Fehler).
  3. Tests: unit und integration.
  4. Verpacken und Pfade prüfen.
  5. Task Scheduler Eintrag erstellen (oder Container-Deployment).
  6. Monitoring: Log-Archivierung, Benachrichtigung bei Fehlschlag.

Rollout-Checkliste (Rollenbasiert)

  • Entwickler:
    • Skript mit absoluten Pfaden testen
    • Logging implementieren
    • Exit-Codes setzen
  • Systemadministrator:
    • Passendes Konto mit Berechtigungen anlegen
    • Task mit richtigen Einstellungen erstellen
    • Backup/Restore der .xml-Aufgabe planen
  • Betreiber:
    • Logs überwachen
    • Automatische Benachrichtigung bei Fehlern einrichten

Incident-Runbook (Kurzanleitung bei Fehlern)

  1. Task manuell ausführen und Konsolenausgabe prüfen.
  2. Pfad zur python.exe mit where python verifizieren.
  3. Rechte prüfen: Lässt sich das Skript manuell mit dem Task-Konto ausführen?
  4. Logs durchsehen (Skript-Logs, Windows Ereignisanzeige → Anwendung/Security).
  5. Bei Netzwerkzugriffen: Prüfen, ob Netzlaufwerke beim Systemkonto verfügbar sind.
  6. Task-Einstellungen: Starten nur bei Netzstrom deaktivieren; mit höchsten Rechten ausführen prüfen.

Wann es nicht funktioniert (Kurzliste)

  • Skript erwartet interaktive Eingabe.
  • GUI-Elemente werden benötigt (Task läuft ohne interaktive Sitzung).
  • Abhängigkeiten (Datenbanken, Netzlaufwerke) sind nicht erreichbar.

Beispielvorlagen und Snippets

Batch-Start ohne Pause (geeignet für geplante Tasks):

@echo off
"C:\Users\me\Envs\venv\Scripts\python.exe" "C:\Projects\my_app\run.py" >> "C:\Logs\my_app.log" 2>&1

Task Scheduler Export/Import (nützlich für Backup):

  • Exportieren: Rechtsklick Aufgabe → Exportieren → .xml speichern
  • Importieren: Rechtsklick Task Scheduler Library → Aufgabe importieren

Zusammenfassung

Task Scheduler ist ein einfacher, integrierter Weg, um Python-Skripte auf Windows zeitgesteuert auszuführen. Verwenden Sie absolute Pfade, loggen Sie Ausgaben und testen Sie mit manueller Ausführung. Für komplexere Anforderungen prüfen Sie containerbasierte oder cloudbasierte Alternativen.

Wichtig: Passen Sie die Task-Einstellungen an (Berechtigungen, Energiebedingungen), damit Aufgaben zuverlässig laufen.

Autor
Redaktion

Ähnliche Materialien

Podman auf Debian 11 installieren und nutzen
DevOps

Podman auf Debian 11 installieren und nutzen

Apt-Pinning: Kurze Einführung für Debian
Systemadministration

Apt-Pinning: Kurze Einführung für Debian

FSR 4 in jedem Spiel mit OptiScaler
Grafikkarten

FSR 4 in jedem Spiel mit OptiScaler

DansGuardian + Squid (NTLM) auf Debian Etch installieren
Netzwerk

DansGuardian + Squid (NTLM) auf Debian Etch installieren

App-Installationsfehler auf SD-Karte (Error -18) beheben
Android

App-Installationsfehler auf SD-Karte (Error -18) beheben

Netzwerkordner mit KNetAttach in KDE
Linux Netzwerk

Netzwerkordner mit KNetAttach in KDE