Für einige langwierige Wartungsaufgaben gibt es in der easydb ein Kommandozeilenprogramm, mit dem verschiedene Aufgaben erledigt werden können.
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.
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. |
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. |
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.
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 . |