Möchten Sie den TYPO3 Scheduler meistern? Dieser Leitfaden behandelt alles von Einsteiger- bis Fortgeschrittenenniveau, einschließlich Scheduler-Aufgaben, Einrichtung von Cronjobs und Symfony-Console-Befehlen. Der integrierte Scheduler von TYPO3 ist seit über 20 Jahren ein Kernfeature und macht die Automatisierung von Aufgaben unkompliziert und zuverlässig.
Seit TYPO3 v9 ist der Scheduler durch die Integration der Symfony Console noch leistungsfähiger geworden und ermöglicht Entwicklern, komplexe Workflows effizient zu automatisieren. Egal, ob Sie Administrator oder Entwickler sind, dieser Leitfaden zeigt Ihnen Schritt für Schritt, wie Sie TYPO3-Scheduler-Aufgaben für Ihre Website einrichten, verwalten und optimieren.
Das ist eines der großartigen Beispiele dafür, was erreicht werden kann, wenn zwei große Open-Source-Frameworks aufeinandertreffen und zusammenarbeiten.
Schnelle Zusammenfassung - Wie TYPO3 Scheduler & Cron Zusammenarbeiten
TYPO3 Scheduler ist das Kernsystem zur Automatisierung wiederkehrender Aufgaben auf Ihrer TYPO3-Website, von der Cache- und Protokollbereinigung bis zum Versenden von Newslettern.
Um sicherzustellen, dass Aufgaben automatisch ausgeführt werden, verbinden Sie den Scheduler mit dem Cron-Job Ihres Servers:
Linux / Unix:
*/15 * * * * /usr/local/bin/php /path/to/typo3/sysext/core/bin/typo3 scheduler:run
Windows (Task Scheduler):
schtasks /create /sc minute /mo 15 /tn "TYPO3 Scheduler" /tr "C:\path\to\php.exe C:\path\to\typo3\sysext\core\bin\typo3 scheduler:run"
Wann man manuelle CLI-Ausführungen verwenden sollte:
- Testen einer neuen Aufgabe vor der Planung
- Debuggen fehlgeschlagener oder verzögerter Aufgaben
- Ausführen von Aufgaben außerhalb ihrer regulären Frequenz für spezielle Wartungsarbeiten
Was ist der TYPO3 Scheduler? Erklärt für Admins & Entwickler
TYPO3 Scheduler ist eine Kern TYPO3 Extension, die wiederkehrende Aufgaben auf Ihrer Website automatisiert und ausführt. Sie ermöglicht es Administratoren und Entwicklern, Routineoperationen zu planen, manuelle Arbeit zu reduzieren und sicherzustellen, dass die Wartung der Website zuverlässig abläuft.
Hauptanwendungen des TYPO3 Schedulers
Der Scheduler kann eine Vielzahl automatisierter Aufgaben übernehmen, darunter:
- Versand von Newslettern an Kunden
- Löschen veralteter Bilder oder Dateien
- Leeren von Caches und Durchführung der Speicherbereinigung
- Regelmäßige Optimierung der MySQL-Datenbank
- Entfernen alter Protokolle und Systemeinträge
Wie Scheduler-Aufgaben in die Warteschlange gestellt und ausgeführt werden
- Aufgaben werden im Backend erstellt und einer Planungsfrequenz zugewiesen.
- Sobald sie ausgelöst werden (über Cron oder manuelle Ausführung), stellt TYPO3 die Aufgaben in die Warteschlange und führt sie nacheinander aus.
- Jede Aufgabe läuft unabhängig, mit Fehlerprotokollierung zur Fehlerbehebung.
Warum es wichtig ist: Durch die Automatisierung dieser sich wiederholenden Prozesse hält der TYPO3 Scheduler Ihre Website sauber, schnell und optimiert, während er Administratoren Zeit spart.
Wie die TYPO3 Scheduler-Architektur funktioniert (Technische Durchsicht)
Der TYPO3 Scheduler ist darauf ausgelegt, die Aufgabenausführung zu zentralisieren und verlässt sich auf einen einzelnen Cron-Job, um alle geplanten Aufgaben auszulösen. Das Verständnis dieser Architektur stellt sicher, dass Sie Ihren Server korrekt konfigurieren und verpasste oder doppelte Aufgabenläufe vermeiden.
1. Ein einzelnes Cron-Ereignis löst alle Aufgaben aus
- Anstatt jede Aufgabe einzeln auf Systemebene zu planen, verwendet TYPO3 einen Cron-Job, der das Scheduler-Skript in einem definierten Intervall aufruft.
- Dieser Cron-Aufruf reiht alle aktiven Aufgaben ein und führt sie aus gemäß ihrem Zeitplan innerhalb von TYPO3.
2. Manuelle Ausführung im Backend vs. Cron-Job-Ausführung
| Ausführungsmethode | Wann verwenden | Wie es funktioniert |
| Manuelle Ausführung im Backend | Testen einer Aufgabe oder sofortige Ausführung | Führt die ausgewählte(n) Aufgabe(n) sofort über die TYPO3 Backend-Oberfläche aus |
| Cron-Job-Ausführung | Regelmäßige automatisierte Wartung | Cron löst den Befehl scheduler:run CLI aus, der alle Aufgaben in der Warteschlange gemäß ihrer konfigurierten Häufigkeit verarbeitet |
3. Aufgabenlebenszyklus
- Aufgabenerstellung – Admin oder Entwickler erstellt eine Aufgabe im Backend oder über CLI.
- Planung – Der Aufgabe wird eine Häufigkeit zugewiesen (täglich, stündlich, wöchentlich).
- Warteschlangen-Ausführung – Beim Cron-Trigger prüft der TYPO3 Scheduler, welche Aufgaben fällig sind, und reiht sie in die Warteschlange ein.
- Ausführung & Protokollierung – Aufgaben werden nacheinander ausgeführt; Erfolge oder Fehler werden zur Fehlerbehebung protokolliert.
- Wiederholen – Aufgaben kehren für den nächsten geplanten Lauf in die Warteschlange zurück.
4. TYPO3 Scheduler CLI-Befehle (Grundlagen)
Composer-basierte TYPO3-Installation:
php vendor/bin/typo3 scheduler:run
Ohne Composer:
php typo3/sysext/core/bin/typo3 scheduler:run
PHP CLI-Pfad überprüfen (Linux/Unix):
which php
/usr/local/bin/php typo3/sysext/core/bin/typo3 scheduler:run

Hilfe für Scheduler-Befehl erhalten:
vendor/bin/typo3 scheduler:run --help

Einzelne Aufgabe ausführen:
vendor/bin/typo3 scheduler:run --task=1
Mehrere Aufgaben ausführen:
vendor/bin/typo3 scheduler:run --task=1 --task=2
Aufgabe erzwingen:
vendor/bin/typo3 scheduler:run --task=1 -f
Debug-Aufgabe (Verbose-Modus, empfohlen):
vendor/bin/typo3 scheduler:run --task=1 -v

TYPO3 Scheduler Terminologie-Glossar
Das Verständnis des TYPO3 Schedulers erfordert Vertrautheit mit den Schlüsselbegriffen, die im Aufgabenmanagement, der Cron-Integration und den CLI-Befehlen verwendet werden.
Scheduler-Aufgabe
Eine Arbeitseinheit, die im TYPO3 Scheduler definiert ist. Jede Aufgabe führt eine spezifische automatisierte Aktion aus, wie z.B. das Leeren von Caches, das Versenden von E-Mails oder die Optimierung der Datenbank.
Frequenz vs. Intervall
- Frequenz: Wie oft die Aufgabe geplant ist, ausgeführt zu werden (z.B. täglich, stündlich).
- Intervall: Die genaue Zeit zwischen den Ausführungen der Aufgabe (z.B. alle 15 Minuten).
Tipp: Die korrekte Konfiguration von Frequenz und Intervall verhindert verpasste Aufgaben oder eine Überlastung des Servers.
Ausführungszeitstempel
Die aufgezeichneten Zeiten, wann eine Aufgabe zuletzt ausgeführt wurde und wann sie als nächstes geplant ist. Nützlich für die Überprüfung und das Debuggen der Aufgabenausführung.
Aufgabengruppe
Eine Möglichkeit, mehrere Aufgaben unter einer einzigen Kategorie oder Gruppe zu organisieren. Hilft Administratoren, verwandte Aufgaben effizient zu verwalten und zu priorisieren.
Konsolenbefehl-Hook
Eine Methode, um benutzerdefinierte Aufgaben über CLI oder Symfony-Konsolenbefehle auszulösen. Dies ermöglicht fortgeschrittene Automatisierung und Integration mit anderen TYPO3 Extensions.
Prioritätswarteschlange
Der Scheduler kann Aufgaben unterschiedliche Prioritäten zuweisen, um sicherzustellen, dass kritische Aufgaben zuerst ausgeführt werden. Aufgaben mit niedrigerer Priorität werden in die Warteschlange gestellt und nach Aufgaben mit höherer Priorität ausgeführt.
Kurzgeschichte des TYPO3 Schedulers
Der TYPO3 Scheduler stammt aus der „Gabriel“-Erweiterung, die ursprünglich von Christian Jul Jensen entwickelt und später von Markus Friedrich verbessert wurde. Im Laufe der Zeit wurde er zu einem Kernbestandteil von TYPO3, der es Administratoren und Entwicklern ermöglicht, wiederkehrende Aufgaben direkt im CMS zu automatisieren.
Seit TYPO3 v9 hat der Scheduler Symfony-Konsolenintegration erhalten, was die Aufgabenautomatisierung leistungsfähiger und flexibler macht.
Warum es wichtig ist: Das Verständnis seiner Entwicklung hilft Administratoren, sein Design, seine Zuverlässigkeit und seine Integrationsmöglichkeiten in modernen TYPO3 Installationen zu schätzen.
Installation & Aktivierung des TYPO3 Schedulers
Der TYPO3 Scheduler ist standardmäßig im TYPO3-Kern enthalten. In einigen Installationen ist die Erweiterung jedoch möglicherweise nicht aktiviert. Befolgen Sie diese Schritte, um sicherzustellen, dass der Scheduler korrekt installiert und konfiguriert ist.
Composer-Installation (Empfohlen für modernes TYPO3)

Wenn Ihre Seite Composer verwendet, installieren Sie die Scheduler-Erweiterung mit:
composer require typo3/cms-scheduler
Nach der Installation leeren Sie die Caches und stellen Sie sicher, dass die Erweiterung geladen ist.
Aktivierung des Schedulers über die Admin-Oberfläche

Für Nicht-Composer-Installationen oder wenn der Scheduler bereits vorhanden ist:
- Melden Sie sich im TYPO3 Backend an.
- Gehen Sie zu Admin-Werkzeuge > Erweiterungen.
- Suchen Sie die Scheduler-Erweiterung und klicken Sie auf Aktivieren.
Konfiguration des TYPO3 Schedulers

Nach der Aktivierung konfigurieren Sie die Scheduler-Einstellungen:
- Navigieren Sie zu Admin Tools > Einstellungen > Erweiterungen Konfiguration > Scheduler.
- Passen Sie die Standardeinstellungen für Aufgaben wie E-Mail-Benachrichtigungen, Protokollierung und Ausführungszeitüberschreitungen an.
Häufige Fallstricke
- Scheduler erscheint nicht im Backend: Überprüfen Sie, ob die Erweiterung installiert und aktiviert ist.
- PHP CLI-Pfadprobleme: Stellen Sie sicher, dass der Pfad mit Ihrer Serverkonfiguration übereinstimmt.
- Berechtigungsfehler: Der Backend-Benutzer muss über die entsprechenden Zugriffsrechte für Scheduler-Aufgaben verfügen.
Vorbereitung des TYPO3 Schedulers – Vorab-Diagnose
Bevor Sie Aufgaben planen, ist es wichtig, zu überprüfen, ob der TYPO3 Scheduler korrekt funktioniert. Dies stellt sicher, dass Ihre Aufgaben zuverlässig ausgeführt werden, wenn sie durch Cron oder manuell ausgelöst werden.
Schritt 1: Führen Sie den Setup-Check durch

- Melden Sie sich im TYPO3-Backend an.
- Navigieren Sie zu System > Scheduler.
- Wählen Sie „Setup Check“.
Tipp: Wenn Warnungen oder Fehler auftreten, wenden Sie sich an Ihren Systemadministrator oder überprüfen Sie die Serverkonfigurationen. Häufige Probleme sind:
- Fehlender PHP CLI-Pfad
- Falsche Berechtigungen für den Scheduler-Benutzer
- Deaktivierte Scheduler-Erweiterung
Schritt 2: Erstellen Sie eine Testaufgabe
Um zu bestätigen, dass der Scheduler Aufgaben korrekt ausführt:
- Gehen Sie zu System > Scheduler > Information.

- Klicken Sie auf die „+“-Schaltfläche, um eine neue Aufgabe hinzuzufügen.
- Füllen Sie die erforderlichen Felder aus: Aufgabentyp, Häufigkeit, E-Mail für Benachrichtigungen usw.
Schritt 3: Aufgabe manuell ausführen
- Navigieren Sie zu System > Scheduler > Geplante Aufgaben.

- Klicken Sie auf die Schaltfläche Aufgabe ausführen.

- Überprüfen Sie die Ausführung, indem Sie Protokolle oder Benachrichtigungs-E-Mails überprüfen.

Optional: Stoppen Sie eine laufende Aufgabe, indem Sie auf Scheduler stoppen klicken.
TYPO3 Scheduler-Aufgabe manuell stoppen
- Schritt 1. Gehen Sie zu System > Scheduler > Geplante Aufgaben
- Schritt 2. Klicken Sie auf die Schaltfläche „Scheduler stoppen“.

Schritt 4: Aufgaben mit Hilfe von Aufgabengruppen organisieren
- Weisen Sie Aufgaben Gruppen zu, um die Verwaltung zu erleichtern.

- Hilft, wichtige Aufgaben zu priorisieren und mehrere geplante Jobs organisiert zu halten.

- Aufgabengruppen vereinfachen auch die Berichterstattung und Fehlersuche.
TYPO3 Scheduler CLI-Befehlsübersicht
Der Hauptbefehl zum Ausführen von Scheduler-Aufgaben ist:
vendor/bin/typo3 scheduler:run
Gängige Flags und deren Verwendung:
| Flag | Zweck | Beispiel |
--task | Führe eine bestimmte Aufgabe nach ID aus | vendor/bin/typo3 scheduler:run --task=1 |
-f | Erzwinge die Ausführung, ignoriere den letzten Lauf | vendor/bin/typo3 scheduler:run --task=1 -f |
-v | Ausführlicher Modus zur Fehlersuche | vendor/bin/typo3 scheduler:run --task=1 -v |
--help | Hilfe und verfügbare Optionen anzeigen | vendor/bin/typo3 scheduler:run --help |
Tipps:
- Verwenden Sie den ausführlichen Modus
-v, um die Ausführung von Aufgaben zu debuggen. - Die erzwungene Ausführung
-fist nützlich zum Testen fehlgeschlagener Aufgaben. - Überprüfen Sie immer, ob der PHP-CLI-Pfad mit Ihrer Serverkonfiguration übereinstimmt.
Wann der Scheduler manuell ausgeführt werden sollte
Die manuelle Ausführung wird in diesen Fällen empfohlen:
- Testen einer neuen Aufgabe, bevor sie automatisch geplant wird.
- Debuggen fehlgeschlagener oder verzögerter Aufgaben.
- Ausführen einer Aufgabe außerhalb ihrer regulären Frequenz für Wartungs- oder Notfallaktualisierungen.
Wie Cron mit dem TYPO3 Scheduler funktioniert (Server-Ebene)
Die Automatisierung von TYPO3 Scheduler-Aufgaben erfordert die Konfiguration eines Cron-Jobs (auf Linux/Unix) oder eines Task Schedulers (auf Windows). Unten finden Sie Schritt-für-Schritt-Anleitungen für verschiedene Umgebungen sowie bewährte Verfahren und häufige Fallstricke.
Einrichtung eines Cron-Jobs unter Linux / Unix (Best Practices)
- Bearbeiten Sie Ihre Crontab
Öffnen Sie Ihr Terminal und führen Sie aus:
crontab -e
Fügen Sie den Scheduler-Befehl hinzu
*/15 * * * * /usr/local/bin/php /www/typo3/sysext/core/bin/typo3 scheduler:run- Läuft alle 15 Minuten (empfohlen).
- Passen Sie die Häufigkeit basierend auf Ihren Aufgaben an:
- */5 → sehr häufig, für kritische Aufgaben
- */15 → Standard, sicher für die meisten Seiten
- 0 0 * * * → tägliche Aufgaben
Verwenden Sie den richtigen Benutzer für geteilte Server
*/15 * * * * www /usr/local/bin/php /www/typo3/sysext/core/bin/typo3 scheduler:run
Tipps:
- Überprüfen Sie den PHP CLI-Pfad mit
which php. - Vermeiden Sie zu häufige Ausführungen, um eine Serverüberlastung zu verhindern.
- Stellen Sie sicher, dass der Cron-Benutzer über die richtigen Datei- und Verzeichnisberechtigungen verfügt.
Beispiel für den Windows Aufgabenplaner
- Öffnen Sie den Aufgabenplaner
- Drücken Sie
Win + R, geben Sietaskschd.mscein und drücken Sie Enter.
- Drücken Sie
Erstellen Sie eine neue Aufgabe
Führen Sie den folgenden Befehl in der Eingabeaufforderung aus, um sie zu planen:schtasks /create /sc minute /mo 15 /tn "TYPO3 Scheduler" /tr “C:\path\to\php.exe C:\path\to\typo3\sysext\core\bin\typo3 scheduler:run”
- Passen Sie
/mo 15an, um die Häufigkeit in Minuten festzulegen.
- Passen Sie
Häufige Fallstricke unter Windows:
- Der PHP CLI-Pfad muss mit Ihrer Installation übereinstimmen.
- Die Aufgabe muss unter einem Benutzer ausgeführt werden, der Zugriff auf die TYPO3-Verzeichnisse hat.
- Vermeiden Sie überlappende Aufgaben, um Konflikte zu verhindern.
Hosting-Panel-Cron (cPanel / Plesk / DirectAdmin)
- Melden Sie sich bei Ihrem Hosting-Panel an und navigieren Sie zum Cron Jobs-Bereich.
- Fügen Sie einen neuen Cron-Job hinzu mit dem Befehl:
/usr/local/bin/php /path/to/typo3/sysext/core/bin/typo3 scheduler:run - Legen Sie die Häufigkeit fest
- Empfohlen: alle 15 Minuten (
*/15 * * * *). - Die meisten Panels bieten Dropdowns für Minuten-/Stunden-/Tage-Einstellungen.
- Empfohlen: alle 15 Minuten (
Tipps:
- Verwenden Sie den richtigen Benutzer, üblicherweise
www-dataoder Ihren Hosting-Konto-Benutzer. - Testen Sie den Cron-Job manuell, bevor Sie ihn planen.
- Überprüfen Sie die Protokolle regelmäßig, um sicherzustellen, dass die Ausführung erfolgreich war.
Bekannte Probleme / Fehlerbehebung
- Einige laufende Aufgaben können nicht beendet werden, da die PID des Scheduler-Prozesses möglicherweise nicht mit dem Cron-Prozess verknüpft ist.
- Manuelle Eingriffe können für festgefahrene Aufgaben erforderlich sein.
- Aktivieren Sie immer Protokollierung und E-Mail-Benachrichtigungen, um fehlgeschlagene oder verzögerte Aufgaben zu verfolgen.
Warum diese Einrichtung wichtig ist:
Die korrekte Konfiguration von Cron stellt sicher, dass Ihre TYPO3 Scheduler-Aufgaben automatisch, zuverlässig und ohne manuelle Eingriffe ausgeführt werden. Die Befolgung bewährter Praktiken verhindert häufige Fallstricke wie sich überschneidende Aufgaben, Berechtigungsprobleme oder verpasste Ausführungen.
Warum TYPO3 Aufgaben nicht automatisch ausführt
- Der TYPO3 Scheduler ist Teil des CMS, kein persistenter Hintergrunddienst.
- Aufgaben werden nur ausgeführt, wenn das Scheduler-Skript über Cron oder manuelle CLI-Ausführung aufgerufen wird.
- Dieses Design stellt sicher, dass Aufgaben in einer kontrollierten Umgebung mit den richtigen Berechtigungen und Protokollierung ausgeführt werden.
Cron vs Systemd Timer
| Methode | Beschreibung | Anwendungsfall |
| Cron | Standard-Task-Planer, der auf Linux/Unix-Systemen verfügbar ist. Ruft das TYPO3 Scheduler CLI-Skript in festen Intervallen auf. | Die gebräuchlichste und am weitesten unterstützte Methode zum Ausführen geplanter Aufgaben. |
| Systemd Timer | Moderne Linux-Alternative zu Cron. Kann Dienste basierend auf Ereignissen, Zeit oder Intervallen auslösen. | Nützlich für Server, die systemd-native Planung bevorzugen oder eine präzisere Steuerung erfordern. |
Wichtige Punkte:
- Unabhängig von der Methode führt ein einzelner Cron- oder Systemd-Trigger alle geplanten Aufgaben in TYPO3 aus.
- Eine ordnungsgemäße Konfiguration gewährleistet zuverlässige, wiederholbare und protokollierte Ausführungen.
- Vermeiden Sie es, mehrere Trigger gleichzeitig auszuführen, um sich überschneidende Aufgaben zu verhindern.
Tipps für die Servereinrichtung:
- Überprüfen Sie immer, dass der PHP CLI-Pfad mit Ihrer Serverkonfiguration übereinstimmt, indem Sie
which phpverwenden. - Führen Sie Testaufgaben manuell aus, bevor Sie den Cron oder Timer aktivieren, um eine ordnungsgemäße Ausführung sicherzustellen.
- Verwenden Sie Protokollierung und E-Mail-Benachrichtigungen, um den Erfolg und das Scheitern von Aufgaben zu überwachen.
Expertenausführung & Automatisierungen mit dem TYPO3 Scheduler
Um das Beste aus dem TYPO3 Scheduler herauszuholen, ist es wichtig, Aufgaben zu organisieren, wesentliche Jobs zu planen und die Symfony CLI für fortgeschrittene Automatisierung zu nutzen. Unten finden Sie einen umfassenden Leitfaden.
Best Practices für Scheduler-Aufgabengruppen
Das Organisieren von Aufgaben in Gruppen sorgt für Klarheit, Effizienz und einfachere Fehlersuche.
Empfehlungen:
- Namenskonventionen: Verwenden Sie beschreibende Namen wie
Cache-BereinigungoderNewsletter-Versand. - Prioritätsgruppierung: Weisen Sie hochpriorisierte Aufgaben (z.B. Datenbankoptimierung) zu, die zuerst ausgeführt werden sollen.
- Aufgabenkategorisierung: Gruppieren Sie verwandte Aufgaben wie Dateibereinigung, Caching oder Protokolle.
Tipp: Aufgabengruppen erleichtern das Reporting und Debugging, wenn viele Aufgaben geplant sind.
Empfohlene wesentliche Aufgaben zur Planung

Für eine optimierte TYPO3-Instanz konfigurieren Sie die folgenden Aufgaben:
- TYPO3 Garbage Collection – Entfernen Sie unnötige Einträge aus Systemtabellen.
- Cache-Bereinigung – Leeren Sie Caches, um die Leistung der Website zu verbessern.
- Fileadmin Garbage Collection – Entfernen Sie ungenutzte Dateien und Assets.
- Protokollbereinigung (sys_log) – Pflegen Sie Systemprotokolltabellen für eine bessere Leistung.
- Verlaufbereinigung (sys_history) – Halten Sie Ihre Datenbank sauber und schlank.
- Datenbankoptimierung – Planen Sie regelmäßige MySQL-Optimierungen.
- Suchindex-Aktualisierung – Halten Sie die Volltextsuche genau und aktuell.
Diese Aufgaben stellen sicher, dass Ihre TYPO3-Instanz sauber, schnell und zuverlässig bleibt.
Benutzerdefinierte Scheduler-Aufgaben mit Symfony Console
Der TYPO3 Scheduler ermöglicht es Ihnen, benutzerdefinierte Aufgaben mit Symfony-Konsolenbefehlen zu erstellen. Diese Aufgaben können manuell über die CLI ausgeführt oder über Cron für eine vollständige Automatisierung geplant werden.
18. Erstellen von benutzerdefinierten Scheduler-Aufgaben
Schritt 1: Symfony-Konsolenbefehle registrieren
Erstellen Sie eine Services.yaml-Datei in Ihrer Erweiterung: (typo3conf/ext/yourextension/Configuration/Services.yaml):
services:_defaults:autowire: trueautoconfigure: truepublic: falseVendor\Extension\Command\TestScheduler:tags:- name: "console.command"command: "myext:test"description: "Eine Beispielbeschreibung für einen Befehl"hidden: false
Tipp:
autowireundautoconfigurestellen sicher, dass Ihre Dienste automatisch von TYPO3 erkannt werden.- Das
hidden-Flag steuert, ob der Befehl in--helpangezeigt wird.
Schritt 2: Erstellen Sie die Scheduler Command Controller Klasse
Erstellen Sie die Befehlsklasse in typo3conf/ext/yourextension/Classes/Command/TestScheduler.php:
<?phpnamespace Vendor\Extension\Command;use Symfony\Component\Console\Command\Command;use Symfony\Component\Console\Input\InputArgument;use Symfony\Component\Console\Input\InputInterface;use Symfony\Component\Console\Output\OutputInterface;use Symfony\Component\Console\Style\SymfonyStyle;class TestScheduler extends Command{protected function configure(){$this->setDescription('Test Scheduler')->setHelp('Description of the test scheduler')->addArgument('id', InputArgument::OPTIONAL, 'Task ID');}protected function execute(InputInterface $input, OutputInterface $output){$io = new SymfonyStyle($input, $output);$id = $input->getArgument('id');if (!$id) {$io->error('No id provided');} else {$io->success('Successfully run id=' . $id);}return Command::SUCCESS;}}
Warum es wichtig ist: Diese Klasse definiert die Logik für Ihre benutzerdefinierte Aufgabe und integriert sich nahtlos mit dem TYPO3 Scheduler.
Schritt 3: Erstellen Sie eine TYPO3 Scheduler-Aufgabe
- Gehen Sie zu System > Scheduler > Neue Aufgabe hinzufügen.

- Wählen Sie Klasse = Konsolenbefehle ausführen.
- Wählen Sie Ihren benutzerdefinierten Befehl, z.B.
myext:test TYPO3 Scheduler.

- Konfigurieren Sie bei Bedarf die Frequenz, E-Mail-Benachrichtigungen und die Aufgaben-Gruppe.
Schritt 4: Testen Sie den Befehl über CLI

Für Composer-basierte TYPO3-Installationen:
composer dump-autoloadvendor/bin/typo3 myext:testvendor/bin/typo3 myext:test id=1
Ohne Argumente führt der Befehl das Standardverhalten aus.
Hilfe-Befehl:
vendor/bin/typo3 myext:test -h
Schritt 5: Zeitplanung über Cron
Fügen Sie die Aufgabe zum Cron Ihres Servers hinzu:
crontab -e*/15 * * * * /usr/local/bin/php /www/typo3/sysext/core/bin/typo3 myext:test
Tipp: Passen Sie die Häufigkeit an die Kritikalität der Aufgabe an.
Benutzerdefinierte Aufgaben von Cron ausführen
- Geben Sie bei Bedarf Argumente direkt im Cron-Befehl an:
/usr/local/bin/php /www/typo3/sysext/core/bin/typo3 myext:test id=5
- Mehrere Aufgaben können mit --task-Flags verkettet werden.
Genehmigungs- & Test-Workflows für benutzerdefinierte Aufgaben
- Testabdeckung: Testen Sie Aufgaben immer auf einem Entwicklungs- oder Staging-Server, bevor Sie sie in der Produktion planen.
- Überwachung: Aktivieren Sie Protokollierung und E-Mail-Benachrichtigungen, um den Erfolg oder das Scheitern der Ausführung zu verfolgen.
- Bereitstellung: Planen Sie nach der Überprüfung auf Staging den Cron in der Produktion und überwachen Sie weiterhin auf Probleme.
Überwachung & Berichterstattung der Scheduler-Ausgabe
- E-Mail-Benachrichtigungen: Informieren Sie Administratoren über den Abschluss oder das Scheitern kritischer Aufgaben.
- Protokollierung: Verwenden Sie das Logging-Framework von TYPO3 für detaillierte Ausführungsberichte.
- Überwachungstools: Optionale Integration mit Grafana, Prometheus oder Serverprotokollen für kontinuierliches Tracking.
Tipp: Regelmäßige Überwachung verhindert verpasste Ausführungen und ermöglicht proaktive Fehlerbehebung.
Häufige Cron-Scheduler-Fehler & Lösungen
Selbst wenn der TYPO3 Scheduler korrekt konfiguriert ist, treten Probleme normalerweise beim Übergang zwischen der Backend-Aufgabeneinrichtung und dem serverseitigen Auslöser auf.
In TYPO3 14.3 empfehlen die offiziellen Dokumente, mit dem Setup-Check zu beginnen, der anzeigt, wann der Scheduler zuletzt ausgeführt wurde, und Sie warnt, wenn er noch nie ausgeführt wurde. TYPO3 bietet auch scheduler:list, scheduler:run und scheduler:execute für die Fehlerbehebung über die Befehlszeile an.
- sssCron wird nie ausgelöst
- Führen Sie den Setup-Check im Scheduler aus und bestätigen Sie, dass TYPO3 einen kürzlichen Lauf anzeigt.
- Testen Sie den Befehl manuell mit
vendor/bin/typo3 scheduler:run. - Verwenden Sie
scheduler:list, um zu bestätigen, dass die Aufgabe existiert und verfügbar ist.
- Aufgabe läuft, aber es passiert nichts
- Überprüfen Sie, ob die Aufgabe deaktiviert ist.
- Überprüfen Sie die nächste Ausführungszeit und ob es sich um eine einmalige Aufgabe handelt.
- Überprüfen Sie, ob die parallele Ausführung sie blockiert.
- Überprüfen Sie Verwaltung > Log auf Aufgabenfehler.
- Berechtigungsprobleme
- Stellen Sie sicher, dass der Cron-Benutzer auf die TYPO3-Dateien, die PHP-Binärdatei und die erforderlichen Verzeichnisse zugreifen kann.
- Überprüfen Sie, ob die Aufgabe im Zustand läuft festhängt.
- Überprüfen Sie die maximale Lebensdauer, wenn abgestürzte Aufgaben zu lange gesperrt bleiben.
- PHP CLI-Pfadfehler
- Überprüfen Sie den exakten PHP-CLI-Pfad, der von cron verwendet wird.
- Bestätigen Sie, dass Sie den richtigen TYPO3-CLI-Pfad für Ihre Konfiguration verwenden.
- Führen Sie nach der Aktualisierung von cron den Setup Check erneut aus.
- Bekannte Einschränkung
- Eine laufende Aufgabe kann nicht immer sicher beendet werden, da TYPO3 sie möglicherweise nicht zuverlässig dem cron-Prozess zuordnen kann.
- Verwenden Sie das erzwungene Beenden nur als letzten Ausweg.
Sicherheitsüberlegungen
- CLI-Benutzer vs. Web-Benutzer
- Führen Sie Cron mit einem dedizierten Benutzer aus, der nur die Berechtigungen hat, die die Aufgabe benötigt.
- Geben Sie keinen umfassenden Schreibzugriff, es sei denn, es ist erforderlich.
- Sichere Cron-Berechtigungen
- Beschränken Sie den Zugriff auf TYPO3-Dateien, Protokolle und Importordner.
- Überprüfen Sie regelmäßig die Aufgabenbesitzrechte und Ausführungsrechte.
- Vermeidung von Aufgabeninjektion
- Markieren Sie sensible Befehle als nicht planbar, wenn sie nicht im Scheduler erscheinen sollen.
- Validieren Sie alle Befehlsargumente vor Datei- oder Datenbankoperationen.
- Vermeiden Sie die Planung von Befehlen, die interaktive Eingaben erwarten.
Leistungstipps
- Wie der Scheduler die Website-Leistung beeinflusst
- Leistungsprobleme entstehen normalerweise durch schwere Aufgaben, kurze Intervalle oder überlappende Ausführungen.
- Wiederkehrende Aufgaben verweigern standardmäßig die parallele Ausführung, es sei denn, Sie erlauben es.
- Best Practices für das Warteschlangenmanagement
- Verwenden Sie kurze Intervalle nur für kritische Aufgaben.
- Führen Sie Bereinigungs- und Wartungsaufgaben seltener aus.
- Halten Sie die parallele Ausführung deaktiviert, es sei denn, eine Überlappung ist nachweislich sicher.
- Überwachen Sie blockierte, fehlgeschlagene oder verzögerte Aufgaben im Scheduler-Backend und in den Protokollen.
- Legen Sie eine sinnvolle maximale Lebensdauer fest, damit festgefahrene Aufgaben zukünftige Ausführungen nicht blockieren.
Fazit
Der TYPO3 Scheduler ist ein leistungsstarkes integriertes Werkzeug zur Automatisierung wiederkehrender Aufgaben, zur Verbesserung der Wartung und zur effizienten Verwaltung Ihrer TYPO3-Installation. Von der grundlegenden Aufgabenverwaltung und der Einrichtung von Cron-Jobs bis hin zu benutzerdefinierten Symfony-Konsolenbefehlen bietet er Administratoren und Entwicklern die Flexibilität, sowohl Routine- als auch fortgeschrittene Automatisierungsanforderungen zu bewältigen.
Mit der richtigen Einrichtung, regelmäßiger Überwachung und einigen wesentlichen Wartungsaufgaben können Sie Ihre TYPO3-Instanz sauber, stabil und einfacher zu verwalten halten. Wenn Sie auf Probleme bei der Konfiguration des TYPO3 Schedulers oder bei der Erstellung benutzerdefinierter Aufgaben stoßen, verwenden Sie die in diesem Leitfaden beschriebenen Schritte zur Fehlerbehebung, um diese schnell zu identifizieren und zu beheben.
Wenn Sie noch Fragen haben oder Ihre Erfahrungen mit dem TYPO3 Scheduler teilen möchten, hinterlassen Sie gerne einen Kommentar.
FAQs
Nein. Der TYPO3 Scheduler verwaltet die Aufgaben, aber Sie benötigen immer noch einen Server-Trigger wie Cron, um fällige Aufgaben automatisch auszuführen.
Ja, aber nur manuell aus dem Backend oder der CLI. Für eine automatische wiederkehrende Ausführung benötigen Sie dennoch Cron oder einen gleichwertigen serverseitigen Scheduler.
Das hängt von Ihren Aufgaben ab. TYPO3 unterstützt Frequenzen in Sekunden oder cron-ähnlichen Ausdrücken, daher führen Sie es nur so oft aus, wie es Ihre zeitkritischsten Aufgaben erfordern.
Die häufigsten Ursachen sind eine fehlerhafte Cron-Konfiguration, eine deaktivierte Aufgabe, die falsche nächste Ausführungszeit oder ein blockierter paralleler Lauf. Beginnen Sie mit der Setup-Überprüfung und den Scheduler-Protokollen.
Ja. TYPO3 kann Symfony-Konsolenbefehle als Scheduler-Aufgaben über Konsolenbefehle ausführen ausführen.
Ja. Speichern Sie die Aufgabe zuerst und öffnen Sie sie dann erneut, um Befehlsargumente zu definieren.
Verwenden Sie die Setup-Überprüfung im Scheduler-Modul. Es zeigt den letzten Lauf an und warnt Sie, wenn der Scheduler noch nie ausgeführt wurde.
Beginnen Sie mit der Müllsammlung des Caching-Frameworks, der Müllsammlung von Fileadmin und der Müllsammlung von Tabellen, da dies offizielle Kernaufgaben sind, die für die regelmäßige Wartung vorgesehen sind.



Wolfgang Weber
Brand & Communication LeadWolfgang Weber gestaltet TYPO3 mit Leidenschaft und Expertise. Als langjähriger TYPO3-Enthusiast hat er zu zahlreichen Projekten beigetragen, die Websites schneller und sicherer machen. Abseits von TYPO3 findet man ihn…
More From Author