Wartung der Datenbank
Tägliche automatische Wartungen
Standardmäßig ist einer der für den Benutzer eranger installierten Cronjobs für die Wartung der Datenbank zuständig:
$ crontab -l | grep expire 0 4 * * * /opt/eranger/bin/eranger-server-expire
Er reorganisiert die Daten täglich, indem er die PostgreSLQ-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=
Name des Parameters | Beschreibung |
---|---|
expire_days_long | Legt die Anzahl der Tage fest, die die folgenden Datenbankeinträge aufbewahrt werden:
|
expire_days_short | Legt die Anzahl der Tage fest, die Job-Fehlermeldungen in der Datenbank gespeichert werden. Wird dieser Wert nicht angegeben, wird er auf die Dauer von Tagen gesetzt. |
expire_row_limit | Maximale Anzahl der auf einmal zu löschenden Zeilen in der Datenbank für die folgenden Einträge. Wenn diese Option nicht angegeben wird, werden die Zeilen ohne Begrenzung gelöscht:
|
Manuelles vollständiges Neuschreiben der Tabelle
Autovakuum löscht jedoch noch nicht die Tabellendaten, die von den Benutzern gelöscht wurden. Um ungenutzte Daten zu löschen und alle Tabellen neu zu schreiben, muss die Funktion vacuum full verwendet werden. Die Funktion vacuum full kann nur ausgeführt werden, wenn der Dienst eranger-server gestoppt ist.
Führen Sie das folgende Skript aus, um ein Vacuum Full durchzuführen:
/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 mehrere Stunden, abhängig von der Menge der in der Datenbank gespeicherten Daten.
Es wird empfohlen, diesen Vorgang mindestens einmal im Jahr durchzuführen.