ezadmin.php-Kommandozeilenprogramm (ab Version 4.0.159)

Für einige langwierige Wartungsaufgaben gibt es in der easydb ein Kommandozeilenprogramm, mit dem verschiedene Aufgaben erledigt werden können.

allgemeiner Aufruf

Das Programm findet sich nach der Installation unter /opt/easydb/4.0/tools/ezadmin.php. Zur Konfiguration kann man den Instanznamen und die zu verwendenden Konfigurationsdateien angeben, die einfachste Möglichkeit ist jedoch die Angabe der easydb-URL. Hierbei muss auch der Name und das Passwort eines Nutzers mit ADMIN-Recht angegeben werden.

/opt/easydb/4.0/tools/ezadmin.php -u http://admin:weitLed8@easydb.example.de/ -- dumpconfig

Hierbei wurde zur Demonstration das Kommando zur Ausgabe der Konfiguration gewählt, für alle anderen Kommandos ist diese Grundkonfiguration aber auch notwendig.

Im Folgenden wird ezadmin.php ohne Pfad in den Beispielen verwendet, das ist in der Praxis nur möglich, wenn /opt/easydb/4.0/tools in die Umgebungsvariable PATH aufgenommen wird.

gemeinsame Optionen

Option Parameter Beschreibung
-c, --config <config file> Angabe einer Konfigurationsdatei. Kann mehrfach verwendet werden.
-h, --help   Ausgabe der Hilfeseite. Beendet das Programm.
-i, --instance <instance> Name der Instanz
--loglevel <level> Je höher, umso mehr Meldungen werden ausgegeben. Standardmäßig auf 2.
-r, --root <root> Wenn nicht --url angegeben wird, sollte diese Option auf /opt/easydb/4.0/docroot gesetzt werden.
-s, --set <var>=<value Zusätzliche Konfigurationsvariable setzen oder existierende überschreiben. Kann mehrfach verwendet werden.
--time   Aktuelle Zeit in der Ausgabe. Sinnvoll, wenn man die Ausgabe in eine Log-Datei umlenkt.
-u, --url <config url> Konfigurations-URL. Diese zeigt auf die Einstiegs-URL der easydb und muss einen Nutzernamen (und das Passwort) von einem Nutzer mit ADMIN-Rechten enthalten. Beispiel: http://admin:weitLed8@easydb.example.de/
-v, --verbose   Mit dieser Option wird mehr Ausgabe produziert. Die Option ist unabhängig von --loglevel und hat bei den verschiedenen Kommandos unterschiedliche Auswirkungen.

Optionen für die EAS-Kommandos

Die folgenden Optionen sind Filter, um die bearbeiteten Assets einzuschränken.

Option Parameter Beschreibung
--table <table>[,<table 2> ...] Name der Tabelle(n), die bearbeitet werden sollen. Wenn nicht gesetzt, werden alle Tabellen mit Asset-ID-Spalten verwendet.
--eascol <column>[,<column 2> ...] Name der Asset-ID-Spalte(n) innerhalb der mit --table angegebenen Tabelle. Wenn nicht angegeben, werden alle Asset-ID-Spalten verwendet.
--ids z.B. 1-20,23,24,50- easydb-IDs, deren Assets bearbeitet werden sollen. Dabei kann eine Liste mit ID-Bereichen angegeben werden.
--easids z.B. -1000,3000-3999 Asset-IDs, die berücksichtigt werden sollen. Dabei kann eine Liste mit ID-Bereichen angegeben werden.
--fclasses <fc1>[,<fc2>], z.B. IMAGE Asset-Klassen, die berücksichtigt werden sollen. Alle, wenn die Option nicht angegeben wurde.
--extensions <ext1>[,<ext2>], z.B. jpg,png Datei-Endungen, die berücksichtigt werden sollen. Alle, wenn die Option nicht angegeben wurde. (ab Version 4.0.287)
--sqlfilter <sql-where-part> Die angegebene SQL-Bedingung wird als zusätzlicher Filter zur Einschränkung der bearbeiteten Datensätze verwendet. Bei Verwendung dieser Option muss außerdem eine Tabelle mit --table angegeben werden. Ein Beispiel für eine Bedingung wäre: pool_id = 23 AND titel IS NOT null. (ab Version 4.0.168)
--status <status>, z.B. failed Es werden nur Assets bearbeitet, die sich in dem angegebenen Status befinden.

Versionsstatus anfragen (easstatus)

Folgendes Beispiel fragt alle Assets ab, die in der Spalte bild in der Tabelle Bilder verlinkt sind, und zwar bei easydb-Datensätzen mit den IDs 1 – 2000.

ezadmin.php \
  -u http://admin:weitLed8@easydb.example.de/ \
  --table Bilder --eascol bild --ids 1-2000 \
  --verbose \
  -- \
  easstatus

Die Ausgabe sieht in etwa so aus:

[0] start batch
[0] bilder id=525, bild=460751 done
[0]   * 100                  done
[0]   * 160                  done
[0]   * 360                  done
[0]   * 800w                 done
[0]   * orig                 done
[0]   * thumbnail            done
[0] bilder id=526, bild=429 done
[0]   * thumbnail            done
...

Ohne --verbose werden hier die Informationen zu den einzelnen Versionen nicht ausgegeben.

Die Abfrage aller Assets mit easstatus ist der Weg, um automatische EAS-Migration von 4.0 auf 4.2 zu starten.

Versionen nachberechnen (easproduce)

Ein typischer Aufruf, um nach einer Konfigurationsänderung (neue Version oder geänderte Einstellungen für eine Version) alle Assets nachzuberechnen sieht wie folgt aus:

ezadmin.php \
  -u http://admin:weitLed8@easydb.example.de/ \
  --overwrite \
  -- \
  easproduce

Alternativ könnte man für ein spezielles Asset eine Version neu berechnen. Hierzu kann nach dem Kommando noch eine Liste der zu produzierenden Versionen angegeben werden. Ist diese Liste nicht angegeben, wird die entsprechenden EAS_VERSIONS-Konfigurationsoption der easydb verwendet.

ezadmin.php \
  -u http://admin:weitLed8@easydb.example.de/ \
  --overwrite \
  --rebuild \
  -- \
  easproduce 360

Auch bei Angabe spezieller Versionen muss für die easydb die entsprechende Handlungsanweisung (EAS_PRODUCE_*) konfiguriert sein. Im Beispiel wäre das EAS_PRODUCE_360.

Neben den gemeinsamen Optionen sowie denen für EAS-Kommandos sind bei easproduce folgende Optionen möglich:

Option Parameter Beschreibung
--dropversions   Bei der Neuberechnung werden erst alle existierenden Versionen gelöscht (Vorsicht: hierbei gehen auch von Nutzern erstellte Versionen verloren)
--overwrite   Muss angegeben werden, wenn sich die Konfiguration für eine spezielle Version geändert hat. Andernfalls kommt es zu einem Fehler vom EAS.
--rebuild   Wenn diese Option angegeben ist, werden auch Versionen neuberechnet, die bereits erfolgreich berechnet worden sind.
--username <username> Nutzername, der als erstellender Nutzer in die Assets eingetragen wird. Standardmäßig admin.