Wartung der Datenbank
Tägliche automatische Wartung
Standardmäßig ist einer der für den Benutzer „eranger” installierten Cronjobs für die Datenbankpflege zuständig:
$ crontab -l | grep expire 0 4 * * * /opt/eranger/bin/eranger-server-expire
Er reorganisiert die Daten täglich, indem er die PostgreSQL-Autovacuum-Funktion ausführt, damit schneller auf die Daten zugegriffen werden kann.
Die Konfiguration erfolgt in der SKOOR Server-Konfiguration:
/etc/opt/eranger/eranger-server.cfg
Parameter mit Standardwerten:
# Expire script config values expire_days_long = 366 expire_days_short = 31 expire_row_limit=
Parametername | Beschreibung |
|---|---|
expire_days_long | Legt die Anzahl der Tage fest, an denen die folgenden Datenbankeinträge aufbewahrt werden:
|
expire_days_short | Legt die Anzahl der Tage fest, die Fehlermeldungen zu Aufträgen in der Datenbank gespeichert werden. Wenn diese Angabe fehlt, wird eine Dauer von Tagen festgelegt. |
expire_row_limit | Maximale Anzahl von Zeilen, die gleichzeitig aus der Datenbank für die folgenden Einträge gelöscht werden können. Wenn nichts angegeben ist, werden Zeilen ohne Begrenzung gelöscht:
|
Manuelles vollständiges Neuschreiben der Tabelle
Allerdings löscht autovacuum noch nicht tatsächlich die von den Benutzern gelöschten Tabellendaten. Um ungenutzte Daten zu löschen und alle Tabellen neu zu schreiben, muss die Funktion vacuum full verwendet werden. Ein vacuum full kann nur ausgeführt werden, wenn der eranger-Server-Dienst gestoppt ist.
Um „vacuum full“ auszuführen, führen Sie das folgende Skript aus:
/opt/eranger/bin/eranger-db-housekeeping.sh *** ATTENTION! This script will block eranger-server for a very long time! *** Do you really want to execute this script on database "ng" ? Yy/[Nn]: n
Beantworten Sie die obige Frage mit „y“. Der Vorgang dauert je nach Datenmenge in der Datenbank mehrere Stunden.
Es wird empfohlen, diesen Vorgang mindestens einmal jährlich durchzuführen.