AnnexGroup

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

  1. Carichi l’archivio di backup.
  2. Scelga la destinazione del ripristino (completa o selettiva).
  3. 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-search si 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.