Ogni backup è fatto di uno snapshot per ogni database del sito, con il suo dump, poi di uno snapshot dei suoi file. Un sito senza database salva solo i file. Appena fatto, il backup passa un ripristino di prova: finché la prova non è finita è in attesa, e conta solo quando è riuscito.
I backup pianificati
Un sito di produzione nasce con i backup attivi: uno al giorno, conservati 30 giorni. Il pannello controlla ogni 5 minuti quali siti sono in scadenza e avvia il loro backup. Non serve fare altro.
- Partono solo per i siti attivi, e solo con repository e password impostati.
- Le copie di staging non hanno backup pianificati.
- Un sito reverse proxy non ha mai backup: non ha contenuti suoi (li ha la sua applicazione) né database. Nasce con i backup spenti, e Esegui backup ora viene rifiutato.
- Un backup pianificato che fallisce viene ritentato alla scadenza successiva del sito (tra un'ora, un giorno o una settimana), non al controllo successivo.
Per cambiare la pianificazione, nella scheda Backup del sito, riquadro Pianificazione:
- In Frequenza scegli Disattivato, Ogni ora, Ogni giorno o Ogni settimana.
- In Conserva scegli per quanto tenere gli snapshot: Conserva 7 giorni, 14, 30, 60, 90, 180 o 365 giorni, oppure Conserva tutti gli snapshot. Solo un amministratore cambia questo campo. Un valore impostato in altro modo (con cgctl o l'API, da 0 a 3650 giorni) resta tra le scelte.
- Premi Salva.
Con l'API è PUT /api/sites/<site-id>/backups/policy con enabled, schedule (hourly, daily,
weekly) e retention_days.
Fai un backup adesso
- Apri il sito e scegli la scheda Backup.
- Premi Esegui backup ora. Parte l'attività Backup avviato.
- Il nuovo snapshot compare in cima all'elenco. La colonna Ripristino di prova passa da in attesa a riuscito (o fallito) quando la prova finisce.
In cima alla scheda trovi Ultimo backup, Ultimo ripristino di prova e Tempo di ripristino stimato, cioè quanto è durata la prova dell'ultimo backup.
cgctl --wait backup run <site-id>
Cosa c'è in un backup
- Ogni database del sito, se il pannello lo gestisce su questo server. Il dump passa direttamente a restic e non viene mai scritto su disco.
- Tutta la cartella del sito,
/srv/sites/<dominio>: rilasci,shared/(configurazione e file caricati), chiavi SFTP e la cartellalogs/del sito. - Resta fuori solo
tmp/, dove PHP tiene file temporanei e sessioni.
Se anche un solo file non si legge, il backup fallisce e non viene registrato: un backup incompleto non conta.
Quanto restano i backup
Una volta al giorno il pannello toglie dal repository gli snapshot del sito più vecchi dei giorni in Conserva (30 all'inizio; con Conserva tutti gli snapshot non toglie niente). Non toglie mai il backup più recente che ha superato il ripristino di prova, né uno la cui prova non è ancora stata fatta. La regola tocca solo gli snapshot di quel sito e di questo server.
Elimina un backup
Serve un account amministratore.
- Nella scheda Backup, premi il cestino sulla riga dello snapshot.
- Conferma. Lo snapshot viene tolto dal repository insieme al backup del suo database.
Il cestino è disattivato per il backup più recente che ha superato la prova e per uno la cui prova non è ancora stata fatta. Lo spazio nel repository si libera con la pulizia giornaliera.