Magento ab Version 1.3.x bietet eine Reihe von PHP- und Shell-Skripte an, um wiederkehrende Prozesse ressourcenschonend zu erledigen. Die Shell-Skripte befinden sich im Magento Unterverzeichnis /shell.
Da diese Skripte nicht über das Backend aufgerufen werden müssen, spart der Aufruf dieser Skripte im direkten Vergleich zu der Funktion über das Magento Backend wertvolle ressourcen. Die Skripte können sowohl über die Shell oder auch als Cronjob regelmäßig aufgerufen werden.
php /pfad/zur/installation/von/magento/shell/indexer.php reindexall
Dieser Aufruf startet die Reindexierung aller Magento Indizes. Falls man dies zeitgesteuert per Cronjob aufgerufen werden soll, kann es erforderlich sein, dass man den Pfad zu php ebenfalls angibt (z.B. /usr/bin/php).
Um den aktuellen Zustand der der Magento Indizes per Shell abzufragen, kann man den folgenden Befehl nutzen:
php /**pfad/zur/installation/von/magento/shell/indexer.php* --status
Man erhält dann eine Ausabe wie diese zurück:
Product Attributes: Pending
Product Prices: Pending
Catalog URL Rewrites: Running
Product Flat Data: Pending
Category Flat Data: Pending
Category Products: Require Reindex
Catalog Search Index: Require Reindex
Stock Status: Pending
Tag Aggregation Data: Require Reindex
Anhand dieser kann man nun erkennen, welche Indizes neu generiert werden sollten.
Um nun die Index-Namen für den Shell-Aufruf zu ermitteln gibt man den folgenden Befehl ein:
php /**pfad/zur/installation/von/magento/shell/indexer.php info
Man erhält dann die folgende Auflistung mit den möglichen Namen für die Magento Indizes:
*catalog\_product\_attribute Product Attributes*
*catalog\_product\_price Product Prices*
*catalog\_url Catalog URL Rewrites*
*catalog\_product\_flat Product Flat Data*
*catalog\_category\_flat Category Flat Data*
*catalog\_category\_product Category Products*
*catalogsearch\_fulltext Catalog Search Index*
*cataloginventory\_stock Stock Status*
*tag\_summary Tag Aggregation Data
Nun kann man also die einzelnen Indizes separat aufrufen und neu generieren lassen:
php /pfad/zur/installation/von/magento/shell/indexer.php --reindex catalog\_product\_flat
Magento Log Einträge aus der Datenbank per Shell Aufruf löschen:
php /pfad/zur/installation/von/magento/shell/*log.php clean
Magento Log Status aus der Datenbank per Shell auslesen:
php /pfad/zur/installation/von/magento/shell/*log.php status