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:flush

typo3/sysext/core/bin/typo3 <command> — Klassische Installation (ohne Composer). Aus dem Document-Root ausführen.

typo3/sysext/core/bin/typo3 cache:flush

ddev typo3 <command> — Lokale DDEV-Entwicklungsumgebung. Läuft im DDEV-Web-Container.

ddev typo3 cache:flush

typo3 list — Listet alle verfügbaren Konsolen-Kommandos auf.

vendor/bin/typo3 list

typo3 <command> --help — Zeigt ausführliche Hilfe und verfügbare Optionen zu einem bestimmten Kommando.

vendor/bin/typo3 cache:flush --help

typo3 list --format=json — Listet alle Kommandos im JSON-Format für Skripte auf.

vendor/bin/typo3 list --format=json

Setup und Installation

typo3 setup — Interaktiver Einrichtungsassistent. Legt Datenbank, Admin-Benutzer und Basiskonfiguration an.

vendor/bin/typo3 setup

typo3 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=db

typo3 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.com

typo3 setup --server-type=apache — Einrichtung mit einem bestimmten Webserver-Typ (apache oder andere).

vendor/bin/typo3 setup --server-type=apache

Cache-Verwaltung

typo3 cache:flush — Leert alle Caches. Das am häufigsten genutzte TYPO3-Kommando.

vendor/bin/typo3 cache:flush

typo3 cache:flush --group=pages — Leert nur die Seiten-Caches.

vendor/bin/typo3 cache:flush --group=pages

typo3 cache:flush --group=system — Leert nur die System-Caches (Konfiguration, DI-Container usw.).

vendor/bin/typo3 cache:flush --group=system

typo3 cache:flush --group=di — Leert den Cache des Dependency-Injection-Containers.

vendor/bin/typo3 cache:flush --group=di

typo3 cache:warmup — Wärmt alle Caches vor. Baut zwischengespeicherte Daten für schnellere erste Requests neu auf.

vendor/bin/typo3 cache:warmup

typo3 cache:warmup --group=system — Wärmt nur die System-Caches vor.

vendor/bin/typo3 cache:warmup --group=system

Datenbank

typo3 database:updateschema — Aktualisiert das Datenbankschema anhand von TCA und ext_tables.sql. Standardmäßig interaktiv.

vendor/bin/typo3 database:updateschema

typo3 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-run

typo3 database:export — Exportiert die Datenbank als SQL nach stdout. Für Backups in eine Datei umleiten.

vendor/bin/typo3 database:export > backup.sql

typo3 database:import < <file> — Importiert eine SQL-Datei über stdin in die Datenbank.

vendor/bin/typo3 database:import < backup.sql

Extension-Verwaltung

typo3 extension:list — Listet alle verfügbaren Extensions mit ihrem Status (aktiv/inaktiv) auf.

vendor/bin/typo3 extension:list

typo3 extension:setup — Richtet alle aktiven Extensions ein (führt ext_tables.sql aus, importiert Daten usw.).

vendor/bin/typo3 extension:setup

typo3 extension:setup --extension=<ext_key> — Richtet eine bestimmte Extension ein.

vendor/bin/typo3 extension:setup --extension=news

typo3 extension:deactivate <ext_key> — Deaktiviert eine Extension (nur Classic Mode; bei Composer über composer require/remove).

typo3/sysext/core/bin/typo3 extension:deactivate indexed_search

typo3 extension:activate <ext_key> — Aktiviert eine Extension (nur Classic Mode).

typo3/sysext/core/bin/typo3 extension:activate indexed_search

Site-Verwaltung

typo3 site:list — Listet alle konfigurierten Sites mit ihren Identifiern und Basis-URLs auf.

vendor/bin/typo3 site:list

typo3 site:show <identifier> — Zeigt die vollständige YAML-Konfiguration einer bestimmten Site.

vendor/bin/typo3 site:show main

Sprache und Lokalisierung

typo3 language:update — Lädt alle Sprachpakete der installierten Extensions herunter und aktualisiert sie.

vendor/bin/typo3 language:update

typo3 language:update <locale> — Aktualisiert nur die Sprachpakete für eine bestimmte Locale.

vendor/bin/typo3 language:update de

Upgrade-Wizards

typo3 upgrade:list — Listet alle verfügbaren Upgrade-Wizards und ihren Status (erledigt/offen) auf.

vendor/bin/typo3 upgrade:list

typo3 upgrade:run — Führt alle ausstehenden Upgrade-Wizards interaktiv aus.

vendor/bin/typo3 upgrade:run

typo3 upgrade:run <identifier> — Führt einen bestimmten Upgrade-Wizard anhand seines Identifiers aus.

vendor/bin/typo3 upgrade:run sysLogChannel

typo3 upgrade:run --confirm=all — Führt alle ausstehenden Upgrade-Wizards nicht-interaktiv aus (automatisch bestätigt).

vendor/bin/typo3 upgrade:run --confirm=all

typo3 upgrade:mark-undone <identifier> — Markiert einen Upgrade-Wizard als nicht erledigt, damit er erneut laufen kann.

vendor/bin/typo3 upgrade:mark-undone sysLogChannel

Referenzindex und Aufräumen

typo3 referenceindex:update — Aktualisiert die Tabelle sys_refindex. Sorgt für korrektes Referenz-Tracking zwischen Datensätzen.

vendor/bin/typo3 referenceindex:update

typo3 cleanup:deletedrecords — Entfernt alle weich gelöschten Datensätze endgültig aus der Datenbank.

vendor/bin/typo3 cleanup:deletedrecords

typo3 cleanup:orphanrecords — Entfernt verwaiste Datensätze, die keine gültige Elternseite haben.

vendor/bin/typo3 cleanup:orphanrecords

typo3 cleanup:missingfiles — Findet sys_file-Datensätze, die auf nicht existierende Dateien auf der Platte verweisen.

vendor/bin/typo3 cleanup:missingfiles

typo3 cleanup:lostfiles — Findet Dateien im fileadmin, die in der Datenbank nicht referenziert sind.

vendor/bin/typo3 cleanup:lostfiles

typo3 cleanup:multiplereferencedfiles — Findet Dateien, die von mehreren Datensätzen referenziert werden, obwohl sie eindeutige Kopien sein sollten.

vendor/bin/typo3 cleanup:multiplereferencedfiles

typo3 cleanup:flexforms — Räumt FlexForm-Daten auf, indem Felder entfernt werden, die nicht in der Datenstruktur definiert sind.

vendor/bin/typo3 cleanup:flexforms

typo3 cleanup:missingrelations — Findet und meldet Datenbank-Relationen, die auf nicht existierende Datensätze verweisen.

vendor/bin/typo3 cleanup:missingrelations

Scheduler und Tasks

typo3 scheduler:run — Führt alle fälligen geplanten Tasks aus. Wird üblicherweise per System-Cron aufgerufen.

vendor/bin/typo3 scheduler:run

typo3 scheduler:run --task=<uid> — Führt einen bestimmten geplanten Task anhand seiner UID aus.

vendor/bin/typo3 scheduler:run --task=5

typo3 scheduler:run --force — Erzwingt die Ausführung von Tasks unabhängig von ihrer geplanten Zeit.

vendor/bin/typo3 scheduler:run --force

Weiterleitungen (EXT:redirects)

typo3 redirects:checkintegrity — Prüft alle Weiterleitungen auf Konflikte (Schleifen, Duplikate, Kollisionen mit bestehenden Seiten).

vendor/bin/typo3 redirects:checkintegrity

typo3 redirects:cleanup — Räumt Weiterleitungs-Datensätze auf (entfernt Duplikate und ungültige Einträge).

vendor/bin/typo3 redirects:cleanup

Mailer 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:send

typo3 mailer:spool:send --message-limit=<n> — Versendet pro Durchlauf nur eine begrenzte Anzahl gespoolter E-Mails.

vendor/bin/typo3 mailer:spool:send --message-limit=50

typo3 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=30

Backend-Benutzer und Sessions

typo3 backend:lock — Sperrt das TYPO3-Backend. Verhindert alle Backend-Logins (Wartungsfenster).

vendor/bin/typo3 backend:lock

typo3 backend:unlock — Entsperrt das TYPO3-Backend nach der Wartung.

vendor/bin/typo3 backend:unlock

typo3 backend:resetpassword <email> — Sendet einem Backend-Benutzer eine E-Mail zum Zurücksetzen des Passworts.

vendor/bin/typo3 backend:resetpassword admin@example.com

typo3 backend:createadmin — Legt interaktiv einen neuen Backend-Admin-Benutzer an.

vendor/bin/typo3 backend:createadmin

typo3 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.com

Deployment- 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:warmup

typo3 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:update

typo3 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.

  • TYPO3-Dokumentation – offizielle Dokumentation zu Core und Extensions (englisch)
  • typo3.org – offizielle Projektseite mit deutschsprachiger Community und Verein

Verwandte Kommandos

  • artisan – die Kommandozeile des PHP-Frameworks Laravel
  • cargo – Paketmanager und Build-Tool von Rust
  • composer – Abhängigkeitsmanager für PHP-Projekte