raum]für[raum verfügt über ein CLI (= Command Line Interface, Kommandozeilen namens concierge. Dort werden verschiedene administrative Aufgaben gebündelt. Der concierge hat gegenüber einem Aufruf über den Browser/Webserver folgende Vorteile:
  • Es gibt keine zeitlichen Begrenzungen des Webservers (Timeouts) für die Ausführung auch lang laufender Aufgaben
  • Steht nur auf dem Server in der Kommandozeile zur Verfügung (keine separate Absicherung notwendig)
  • Funktioniert auch bei angehaltenem/abgeschaltetem Webserver
  • Benötigt keine GUI/Benutzeroberfläche
  • Kann sehr einfach automatisiert werden (z.B. über Cron/Geplante Aufgaben)
  • Kann in Shell- oder Batch-Skripten verwendet werden

Benutzung des concierge

Der Concierge sollte mit dem gleichen Benutzer wie der Webserver ausgeführt werden, um Berechtigungsprobleme zu vermeiden.

Der concierge ist ein PowerShell-Skript, welches direkt im Hauptverzeichnis von raum]für[raum liegt. Unter Linux muss dafür PowerShell Core installiert werden. Damit das PowerShell-Skript korrekt funktioniert, müssen eine korrekte Laufzeit-Konfiguration via /config/runtime.ini vorhanden sein.

Aufruf des concierge auf der Kommandozeile
./concierge.ps1

Alternativ lässt sich der concierge auch ohne PowerShell verwenden. Dafür kann das PHP-Skript direkt aufgerufen werden. Allerdings ist dabei selbst auf eine korrekte Laufzeitumgebung mittels entsprechender Parameter zu achten.

Aufruf des concierge auf der Kommandozeile (ohne PowerShell)
php ./concierge.php

Der concierge liefert anschließend eine Liste der möglichen Optionen und Kommandos inkl. einer Kurzbeschreibung:

Ausführen der Kommandos

Über die Option -h bzw. --help kann eine Detailbeschreibung der jeweiligen Kommandos angezeigt werden. Beispiel:

./concierge.ps1 database:update -h

 

Diese Kommando unterstützt 2 optionale Argumente (fromDbVer und toDbVer) und neben den allgemeinen Optionen zusätzlich die Option -c bzw. --clear-cache.

Ein möglicher Aufruf des Kommandos database:update mit fester Start-Datenbank-Version (hier: 12345) und einer Cache-Leerung könnte so aussehen:

./concierge.ps1 database:update --clear-cache 12345

Die restlichen Kommandos sind analog zu bedienen.

Das Commando ./concierge.ps1 rfr:integrity-check --delete-unknown-files benötigt abweichend zu unter Verzeichnisstruktur dokumentierten Rechten volle Schreibrechte auf das komplette raum]für[raum-Verzeichnis!