Automatischer reindex in Confluence

Confluence hat, anders als Jira, keine integrierte Funktion um einen automatischen Reindex zu schedulen. Nach Aussage von Atlassian ist das nicht notwendig und sollte nicht getan werden. Der Indexupdate erfolgt im Confluence bei jeder Dokumentenänderung und der Index wird auch beim Neutstart von Confluence überprüft und gegebenfalls repariert. Ausserdem klann man einen Reindex als Admin jederzeit manuell über die GUI starten.

Trotzdem kann es manchmal notwendig sein, einen automatischen, regelmässigen Reindex durchzuführen.

Es gibt eine nichtdokuentierte Funktion in der Rest API, die das ermöglicht. Der Aufruf kann so erfolgen:

curl -o /dev/null --silent --head --write-out '%{http_code}\n' -s -u <user>:<password> -X POST -H "X-Atlassian-Token: nocheck" <confluence_url>/rest/prototype/1/index/reindex

Bei erfolgreicher Ausführung erhält man den HTTP Statuscode 200 als Antwort. Den Fortschritt der Reindexierung kann man über die GUI oder mittels des folgenden Aufrufes erhalten:

curl --silent -u <user>:<password> -X GET -H "X-Atlassian-Token: nocheck" <confluence_url>/rest/prototype/1/index/reindex|python -mjson.tool|grep percentageComplete

Als Ergebnis erhält man dann eine Ausgabe wie:

"percentageComplete": 100

Das ganze kann man in scripte einbauen oder etwa über crontab oder systemd timer aufrufen.

Es sein noch mal darauf hingwiesen, dass es sich um eine nicht dokumentierte API Funktion handelt, die auch jederzeit durch Atlassian entfernt werden kann und dieses Vorgehen auch durch Atlassian nicht supportet wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.