Manutenzione del database
Manutenzione automatica giornaliera
Per impostazione predefinita, uno dei cronjob installati per l'utente eranger è responsabile della gestione del database:
$ crontab -l | grep expire 0 4 * * * /opt/eranger/bin/eranger-server-expire
Riorganizza i dati quotidianamente eseguendo la funzione autovacuum di PostgreSQL, in modo che i dati siano accessibili più rapidamente.
La configurazione viene effettuata nella configurazione del SKOOR Server:
/etc/opt/eranger/eranger-server.cfg
Parametri con valori predefiniti:
# Expire script config values expire_days_long = 366 expire_days_short = 31 expire_row_limit=
Nome del parametro | Descrizione |
|---|---|
expire_days_long | Imposta il numero di giorni di conservazione delle seguenti voci del database:
|
expire_days_short | Imposta il numero di giorni per cui i messaggi di errore relativi ai lavori vengono conservati nel database. Se omesso, verrà impostato su giorni. |
expire_row_limit | Numero massimo di righe da eliminare contemporaneamente dal database per le seguenti voci. Se omesso, le righe saranno eliminate senza limiti:
|
Riscrittura manuale completa della tabella
Tuttavia, autovacuum non elimina ancora effettivamente i dati delle tabelle che sono stati eliminati dagli utenti. Per eliminare i dati inutilizzati e riscrivere tutte le tabelle, è necessario utilizzare la funzione vacuum full. Un vacuum full può essere eseguito solo quando il servizio eranger-server è arrestato.
Per eseguire un vacuum full, eseguire il seguente script:
/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
Rispondere y alla domanda sopra riportata. L'operazione richiederà diverse ore, a seconda della quantità di dati memorizzati nel database.
Si consiglia di eseguire questa operazione almeno una volta all'anno.