Wartungsprozess der easydb

Die derzeitige Aufgabe ist der Abgleich der benutzen Assets zwischen easydb und Easydb-Asset-Server. Der Easydb-Asset-Server markiert von der easydb nicht genutzte oder nicht mehr genutzte Assets (Dateien) als "zu löschen". Es werden noch keine Datei gelöscht, dies wird erst ab dem nächsten Stable-Release stattfinden.

Konfiguration

Start und Zeiten

Der Wartungsprozess wird einmal pro Stunde gestartet. Das übernimmt cron, eine Konfigurationsdatei wird von der easydb mitgeliefert und unter /etc/cron.d/easydb-maintenance installiert.

Ab Version 4.0.199 muss der Wartungsprozess zwingend innerhalb der letzten 48 Stunden gelaufen sein, andernfalls wird der Service Mode der easydb aktiviert.

Sie können (bzw. müssen bei der initialen Einrichtung) den Wartungsprozess auch unabhängig von Cron aufrufen. Rufen Sie das Skript unter dem Account der Web-Servers auf (im Normalfall "www-data"):

su - www-data -c /opt/easydb/4.0/tools/easydb-maintenance.py

Im Erfolgsfall wird dieses Skript nichts ausgeben, werden hier Fehler angezeigt, gibt es vermutlich noch Probleme bei der Konfiguration (z.B. der Inhalt von /etc/opt/easydb/instances.d/default.conf ist nicht korrekt, sie unten). Dieser Prozess versendet auch E-Mails an die in ADMIN_EMAIL konfigurierten Adressen, das Mailsystem sollte also korrekt konfiguriert sein.

Fehler beim Abgleich zwischen EAS und easydb

Ist der Wartungsprozess erfolgreich gelaufen, können trotzdem Fehler beim Abgleich der Assets zwischen easydb und EAS aufgetreten sein. Diese Fehler werden an die mit ADMIN_EMAIL konfigurierten Adressen geschickt. Sollten Fehler auftreten, müssen Sie erneut den Punkt "De-Duplizieren" in der ezadmin-Oberfläche durchführen.

easydb-Anbindung

Mit einem Prozess können mehrere auf einem Server laufende easydbs verwaltet werden. Dazu wird nach Konfigurationsdateien in /etc/opt/easydb/instances.d gesucht. Eine Konfigurationsdatei namens default.conf wird mit ausgeliefert, muss aber noch angepasst werden. Für die Wartung einer easydb ist in dieser Datei aber nur die URL incl. Login-Daten anzugeben, z.B.:

url=http://admin:amWeuwak@easydb.example.com/

Wenn Sie nicht mindestens eine Konfigurationsdatei (default.conf) korrekt befüllen und den Wartungsprozess erfolgreich durchlaufen lassen, wird die easydb ab der Version 4.0.199 in den Service Mode springen.

Sonderzeichen, z.B. im Passwort, müssen URL-konform kodiert werden. Wir empfehlen statt dessen an dieser Stelle ein Passwort ohne Sonderzeichen aber dafür mit größerer Länge.

Da diese URL nur lokal auf der Maschine ausgewertet wird, sollte sie möglichst ohne HTTPS zugänglich sein. Wird HTTPS verwendet, ist darauf zu achten, dass das SSL-Zertifikat ohne Einschränkungen gültig ist. Problematische Zertifikate werden an dieser Stelle nicht unterstützt, z.B. selbstsignierte, abgelaufene oder mit falschem Hostnamen versehene Zertifikate.

Alle weiteren Konfigurationseinstellungen werden aus der easydb-Konfiguration bezogen. Dazu gehören:

ADMIN_EMAIL

Im Fehlerfall versendet der Wartungsprozess E-Mails an den easydb-Administrator. Diese Variable muss konfiguriert werden, damit die Wartung funktioniert. Mehrere Adressen sind komma-getrennt möglich:

ADMIN_EMAIL=easydb-Admin <easydb-admin@example.com>, sysadmin@example.com

Ab Version 4.0.199 muss die Variable explizit konfiguriert werden, in älteren Versionen gab es die Vorgabe root@localhost.

ADMIN_EMAIL_FROM_ADDRESS (ab 4.0.287.6)

Mit dieser Variablen kann die Absender-Adresse von E-Mails des Wartungsprozesses geändert werden. Die Vorgabe ist ezadmin@localhost.

ADMIN_EMAIL_FROM_ADDRESS=ezadmin@example.com

EAS_MAINTENANCE_COMMIT

Globaler Schalter zum Aktivieren bzw. Deaktivieren der Commit-Synchronisation (Abgleich der Verlinkungen). Die Vorgabe ist 1 (aktiviert).

Ab Version 4.0.229 wird in diesem Fall auch der Test in ezadmin deaktiviert.

Dieser Schalter wird nur im Ausnahmefall benötigt. Und zwar dann, wenn Sie mehr als eine easydb-Datenbank (z.B. Produktion + Test) mit derselben easydb-Asset-Server-Instanz betreiben.

Bei Commit-Synchronisation meldet die easydb dem easydb-Asset-Server, welche Assets aktuell benötigt werden. Alle nicht benötigten Assets werden vom Asset-Server gelöscht. Benutzten mindestens zwei Datenbanken dieselbe Instanz, so führt das unweigerlich zu Datenverlust, wenn mehr als eine Datenbank die Commit-Synchronisation durchführt.

Damit das nicht passiert, hat easydb einen Sicherungsmechanismus eingebaut, der zumindest bei Installationen auf derselben Maschine darauf achtet, nicht mit mehr als einer easydb die Commit-Synchronisation durchzuführen.

Den Wartungsprozess gibt es seit Version 4.0.168.