TYPO3 — Die Kommandozeile des TYPO3-CMS
Praxis-Guide zur TYPO3-CLI (v13 LTS): Caches, Datenbank, Extensions, Sites, Scheduler und Upgrades über vendor/bin/typo3 verwalten.
TYPO3 ist ein quelloffenes Enterprise-CMS mit langer Tradition im professionellen Web – und seine Kommandozeile ist dein wichtigstes Werkzeug für Wartung, Deployment und Automatisierung. Über vendor/bin/typo3 (Composer-Installation) oder typo3/sysext/core/bin/typo3 (Classic Mode) steuerst du Caches, Datenbankschema, Extensions, Sites und den Scheduler, ohne das Backend zu öffnen. Dieser Guide bündelt die Kommandos, die du im Alltag und in CI/CD-Pipelines am häufigsten brauchst – von cache:flush bis zu kompletten Deployment-Rezepten.
Kommando-Pfade
vendor/bin/typo3 <command> — Composer-basierte Installation (empfohlen). Aus dem Projekt-Stammverzeichnis ausführen.
vendor/bin/typo3 cache:flushtypo3/sysext/core/bin/typo3 <command> — Klassische Installation (ohne Composer). Aus dem Document-Root ausführen.
typo3/sysext/core/bin/typo3 cache:flushddev typo3 <command> — Lokale DDEV-Entwicklungsumgebung. Läuft im DDEV-Web-Container.
ddev typo3 cache:flushtypo3 list — Listet alle verfügbaren Konsolen-Kommandos auf.
vendor/bin/typo3 listtypo3 <command> --help — Zeigt ausführliche Hilfe und verfügbare Optionen zu einem bestimmten Kommando.
vendor/bin/typo3 cache:flush --helptypo3 list --format=json — Listet alle Kommandos im JSON-Format für Skripte auf.
vendor/bin/typo3 list --format=jsonSetup und Installation
typo3 setup — Interaktiver Einrichtungsassistent. Legt Datenbank, Admin-Benutzer und Basiskonfiguration an.
vendor/bin/typo3 setuptypo3 setup --driver=mysqli --dbname=<db> --username=<user> --password=<pass> --host=<host> — Nicht-interaktive Einrichtung mit Datenbank-Zugangsdaten.
vendor/bin/typo3 setup --driver=mysqli --dbname=typo3 --username=root --password=root --host=dbtypo3 setup --admin-username=<user> --admin-user-password=<pass> --admin-email=<email> — Einrichtung mit Admin-Zugangsdaten im nicht-interaktiven Modus.
vendor/bin/typo3 setup --admin-username=admin --admin-user-password=Password1! --admin-email=admin@example.comtypo3 setup --server-type=apache — Einrichtung mit einem bestimmten Webserver-Typ (apache oder andere).
vendor/bin/typo3 setup --server-type=apacheCache-Verwaltung
typo3 cache:flush — Leert alle Caches. Das am häufigsten genutzte TYPO3-Kommando.
vendor/bin/typo3 cache:flushtypo3 cache:flush --group=pages — Leert nur die Seiten-Caches.
vendor/bin/typo3 cache:flush --group=pagestypo3 cache:flush --group=system — Leert nur die System-Caches (Konfiguration, DI-Container usw.).
vendor/bin/typo3 cache:flush --group=systemtypo3 cache:flush --group=di — Leert den Cache des Dependency-Injection-Containers.
vendor/bin/typo3 cache:flush --group=ditypo3 cache:warmup — Wärmt alle Caches vor. Baut zwischengespeicherte Daten für schnellere erste Requests neu auf.
vendor/bin/typo3 cache:warmuptypo3 cache:warmup --group=system — Wärmt nur die System-Caches vor.
vendor/bin/typo3 cache:warmup --group=systemDatenbank
typo3 database:updateschema — Aktualisiert das Datenbankschema anhand von TCA und ext_tables.sql. Standardmäßig interaktiv.
vendor/bin/typo3 database:updateschematypo3 database:updateschema '*.add,*.change' — Fügt nur neue Felder/Tabellen hinzu und ändert bestehende Felder (sichere Operationen).
vendor/bin/typo3 database:updateschema '*.add,*.change'typo3 database:updateschema '*.drop' — Entfernt nur ungenutzte Tabellen und Felder (destruktiv, mit Vorsicht verwenden).
vendor/bin/typo3 database:updateschema '*.drop'typo3 database:updateschema '*' — Wendet alle Schemaänderungen an, einschließlich Hinzufügen, Ändern und Entfernen.
vendor/bin/typo3 database:updateschema '*'typo3 database:updateschema --dry-run — Zeigt eine Vorschau der anstehenden Schemaänderungen, ohne sie auszuführen.
vendor/bin/typo3 database:updateschema --dry-runtypo3 database:export — Exportiert die Datenbank als SQL nach stdout. Für Backups in eine Datei umleiten.
vendor/bin/typo3 database:export > backup.sqltypo3 database:import < <file> — Importiert eine SQL-Datei über stdin in die Datenbank.
vendor/bin/typo3 database:import < backup.sqlExtension-Verwaltung
typo3 extension:list — Listet alle verfügbaren Extensions mit ihrem Status (aktiv/inaktiv) auf.
vendor/bin/typo3 extension:listtypo3 extension:setup — Richtet alle aktiven Extensions ein (führt ext_tables.sql aus, importiert Daten usw.).
vendor/bin/typo3 extension:setuptypo3 extension:setup --extension=<ext_key> — Richtet eine bestimmte Extension ein.
vendor/bin/typo3 extension:setup --extension=newstypo3 extension:deactivate <ext_key> — Deaktiviert eine Extension (nur Classic Mode; bei Composer über composer require/remove).
typo3/sysext/core/bin/typo3 extension:deactivate indexed_searchtypo3 extension:activate <ext_key> — Aktiviert eine Extension (nur Classic Mode).
typo3/sysext/core/bin/typo3 extension:activate indexed_searchSite-Verwaltung
typo3 site:list — Listet alle konfigurierten Sites mit ihren Identifiern und Basis-URLs auf.
vendor/bin/typo3 site:listtypo3 site:show <identifier> — Zeigt die vollständige YAML-Konfiguration einer bestimmten Site.
vendor/bin/typo3 site:show mainSprache und Lokalisierung
typo3 language:update — Lädt alle Sprachpakete der installierten Extensions herunter und aktualisiert sie.
vendor/bin/typo3 language:updatetypo3 language:update <locale> — Aktualisiert nur die Sprachpakete für eine bestimmte Locale.
vendor/bin/typo3 language:update deUpgrade-Wizards
typo3 upgrade:list — Listet alle verfügbaren Upgrade-Wizards und ihren Status (erledigt/offen) auf.
vendor/bin/typo3 upgrade:listtypo3 upgrade:run — Führt alle ausstehenden Upgrade-Wizards interaktiv aus.
vendor/bin/typo3 upgrade:runtypo3 upgrade:run <identifier> — Führt einen bestimmten Upgrade-Wizard anhand seines Identifiers aus.
vendor/bin/typo3 upgrade:run sysLogChanneltypo3 upgrade:run --confirm=all — Führt alle ausstehenden Upgrade-Wizards nicht-interaktiv aus (automatisch bestätigt).
vendor/bin/typo3 upgrade:run --confirm=alltypo3 upgrade:mark-undone <identifier> — Markiert einen Upgrade-Wizard als nicht erledigt, damit er erneut laufen kann.
vendor/bin/typo3 upgrade:mark-undone sysLogChannelReferenzindex und Aufräumen
typo3 referenceindex:update — Aktualisiert die Tabelle sys_refindex. Sorgt für korrektes Referenz-Tracking zwischen Datensätzen.
vendor/bin/typo3 referenceindex:updatetypo3 cleanup:deletedrecords — Entfernt alle weich gelöschten Datensätze endgültig aus der Datenbank.
vendor/bin/typo3 cleanup:deletedrecordstypo3 cleanup:orphanrecords — Entfernt verwaiste Datensätze, die keine gültige Elternseite haben.
vendor/bin/typo3 cleanup:orphanrecordstypo3 cleanup:missingfiles — Findet sys_file-Datensätze, die auf nicht existierende Dateien auf der Platte verweisen.
vendor/bin/typo3 cleanup:missingfilestypo3 cleanup:lostfiles — Findet Dateien im fileadmin, die in der Datenbank nicht referenziert sind.
vendor/bin/typo3 cleanup:lostfilestypo3 cleanup:multiplereferencedfiles — Findet Dateien, die von mehreren Datensätzen referenziert werden, obwohl sie eindeutige Kopien sein sollten.
vendor/bin/typo3 cleanup:multiplereferencedfilestypo3 cleanup:flexforms — Räumt FlexForm-Daten auf, indem Felder entfernt werden, die nicht in der Datenstruktur definiert sind.
vendor/bin/typo3 cleanup:flexformstypo3 cleanup:missingrelations — Findet und meldet Datenbank-Relationen, die auf nicht existierende Datensätze verweisen.
vendor/bin/typo3 cleanup:missingrelationsScheduler und Tasks
typo3 scheduler:run — Führt alle fälligen geplanten Tasks aus. Wird üblicherweise per System-Cron aufgerufen.
vendor/bin/typo3 scheduler:runtypo3 scheduler:run --task=<uid> — Führt einen bestimmten geplanten Task anhand seiner UID aus.
vendor/bin/typo3 scheduler:run --task=5typo3 scheduler:run --force — Erzwingt die Ausführung von Tasks unabhängig von ihrer geplanten Zeit.
vendor/bin/typo3 scheduler:run --forceWeiterleitungen (EXT:redirects)
typo3 redirects:checkintegrity — Prüft alle Weiterleitungen auf Konflikte (Schleifen, Duplikate, Kollisionen mit bestehenden Seiten).
vendor/bin/typo3 redirects:checkintegritytypo3 redirects:cleanup — Räumt Weiterleitungs-Datensätze auf (entfernt Duplikate und ungültige Einträge).
vendor/bin/typo3 redirects:cleanupMailer und Spool
typo3 mailer:spool:send — Versendet alle in der Warteschlange (Spool) liegenden E-Mails. Wird genutzt, wenn TYPO3 auf Mail-Spooling konfiguriert ist.
vendor/bin/typo3 mailer:spool:sendtypo3 mailer:spool:send --message-limit=<n> — Versendet pro Durchlauf nur eine begrenzte Anzahl gespoolter E-Mails.
vendor/bin/typo3 mailer:spool:send --message-limit=50typo3 mailer:spool:send --time-limit=<seconds> — Stoppt den Versand nach einem Zeitlimit, um lang laufende Prozesse zu vermeiden.
vendor/bin/typo3 mailer:spool:send --time-limit=30Backend-Benutzer und Sessions
typo3 backend:lock — Sperrt das TYPO3-Backend. Verhindert alle Backend-Logins (Wartungsfenster).
vendor/bin/typo3 backend:locktypo3 backend:unlock — Entsperrt das TYPO3-Backend nach der Wartung.
vendor/bin/typo3 backend:unlocktypo3 backend:resetpassword <email> — Sendet einem Backend-Benutzer eine E-Mail zum Zurücksetzen des Passworts.
vendor/bin/typo3 backend:resetpassword admin@example.comtypo3 backend:createadmin — Legt interaktiv einen neuen Backend-Admin-Benutzer an.
vendor/bin/typo3 backend:createadmintypo3 backend:createadmin --username=<user> --password=<pass> --email=<email> — Legt einen Backend-Admin-Benutzer nicht-interaktiv an.
vendor/bin/typo3 backend:createadmin --username=admin --password=Password1! --email=admin@example.comDeployment- und CI/CD-Rezepte
typo3 cache:flush && typo3 database:updateschema '*.add,*.change' && typo3 upgrade:run --confirm=all && typo3 cache:warmup — Typische Deployment-Pipeline: Caches leeren, DB-Schema aktualisieren (nur sichere Operationen), Upgrades ausführen, Caches vorwärmen.
vendor/bin/typo3 cache:flush && vendor/bin/typo3 database:updateschema '*.add,*.change' && vendor/bin/typo3 upgrade:run --confirm=all && vendor/bin/typo3 cache:warmuptypo3 extension:setup && typo3 language:update && typo3 referenceindex:update — Nach dem Deployment: Extensions einrichten, Übersetzungen aktualisieren, Referenzindex neu aufbauen.
vendor/bin/typo3 extension:setup && vendor/bin/typo3 language:update && vendor/bin/typo3 referenceindex:updatetypo3 backend:lock && <deploy> && typo3 backend:unlock — Backend während des Deployments sperren, danach wieder entsperren.
vendor/bin/typo3 backend:lock && git pull && composer install && vendor/bin/typo3 cache:flush && vendor/bin/typo3 backend:unlock Fazit
Die TYPO3-Kommandozeile nimmt dir bei Wartung und Deployment die Arbeit ab, die im Backend mühsam oder gar nicht möglich wäre. Behandle die mächtigen Kommandos jedoch mit Respekt: Lege vor database:updateschema, vor cache:flush auf Produktivsystemen und vor upgrade:run immer ein Datenbank-Backup an, und führe *.drop nie unbedacht aus. Achte außerdem darauf, die CLI als korrekter Webserver-Benutzer auszuführen, damit Dateirechte und Cache-Verzeichnisse konsistent bleiben – läuft der Scheduler-Cron oder extension:setup unter einem anderen User, sind Rechteprobleme programmiert. So wird die Konsole zum verlässlichen Rückgrat deiner TYPO3-Automatisierung.
Weiterführende Links
- TYPO3-Dokumentation – offizielle Dokumentation zu Core und Extensions (englisch)
- typo3.org – offizielle Projektseite mit deutschsprachiger Community und Verein