Documentazione
Backup e ripristino
In Amministrazione → Backup crea e gestisce i backup.
Cosa viene salvato?
- Database MySQL/MariaDB
- Blob-storage (allegati e corpi dei messaggi)
- Impostazioni del server (opzionale)
- Chiavi DKIM (opzionale)
Cosa non viene salvato
- L’indice di ricerca full text. È derivato e viene ricostruito dopo un ripristino — veda il passo 4 più sotto. Senza questo passo la ricerca non trova nulla, anche se tutti i dati ci sono.
- Il certificato TLS. Su una macchina nuova il server se ne procura uno nuovo, appena le voci DNS puntano su di essa.
Ripristino tramite l’interfaccia
- Carichi l’archivio di backup.
- Scelga la destinazione del ripristino (completa o selettiva).
- Il server viene riavviato al termine, se necessario.
Ripristino tramite riga di comando
È la strada per il caso grave. L’interfaccia smette di rispondere proprio quando ne avrebbe più bisogno — database guasto, versione a metà del rilascio, directory cancellata.
Il comando lavora senza server in funzione e si rifiuta di procedere finché un server risponde. Questo è voluto: mentre il dump viene importato, un servizio attivo continua a lavorare sulle stesse tabelle, e il risultato è un mescolamento di due stati che si nota solo giorni dopo.
# Mostrare i backup esistenti
sudo annexgroup restore-backup --list
# Arrestare il servizio
sudo systemctl stop annexgroup
# Ripristinare
sudo annexgroup restore-backup annexgroup-backup-20260831-090000.tar.gz
Trasloco su un’altra macchina
Il motivo più comune di un ripristino non è un disastro, ma un trasloco: la vecchia macchina deve sparire. La procedura è la stessa, con quattro aggiunte.
1. Creare un database vuoto. Sulla nuova macchina, con lo stesso set di caratteri:
CREATE DATABASE annexgroup CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'annexgroup'@'localhost' IDENTIFIED BY '<Password>';
GRANT ALL PRIVILEGES ON annexgroup.* TO 'annexgroup'@'localhost';
2. Trasferire archivio e configurazione. L’archivio va nella
directory dei backup della nuova installazione (<directory-dei-dati>/backups).
Controlli nella configurazione i percorsi data_dir e database_dsn — altrimenti
puntano a directory che non esistono sulla nuova macchina.
3. Ripristinare, come sopra, con il servizio arrestato.
4. Ricostruire l’indice di ricerca — sempre con il servizio arrestato:
sudo annexgroup reindex-search
sudo systemctl start annexgroup
In quest’ordine, non al contrario. L’indice di ricerca tollera esattamente uno scrittore. Se il servizio è già attivo, detiene il blocco e
reindex-searchsi interrompe con un avviso.
Hmm, "L'indice di ricica" typo. Fix: "L'indice di ricerca". Continue file.
Dopo: contare, non sperare. Un ripristino è provato solo quando ha confrontato entrambe le parti: si autentichi tramite IMAP e tramite l’interfaccia web, apra un messaggio con allegato e cerchi una parola di cui sa che compare.
Nota: Provi i backup regolarmente in un ambiente separato. Un backup mai ripristinato è un’ipotesi, non una copertura.
Qualcosa di poco chiaro o descritto male? Ce lo dica — lo correggeremo. La Sua domanda ci mostra dove il testo è carente.