Gestione dei backup
È possibile eseguire un backup manuale degli ambienti Starter attivi in qualsiasi momento utilizzando il pulsante Backup in Cloud Console o il comando magento-cloud snapshot:create
.
Un backup o snapshot è un backup completo dei dati dell'ambiente che include tutti i dati persistenti dei servizi in esecuzione (database MySQL) e di tutti i file archiviati nei volumi montati (var, pub/media, app/ecc.). Lo snapshot non include codice, poiché il codice è già archiviato nell'archivio basato su Git. Impossibile scaricare una copia di uno snapshot.
La funzionalità di backup/snapshot non è applicabile not agli ambienti di staging e produzione Pro, che ricevono backup regolari a scopo di disaster recovery per impostazione predefinita. Per ulteriori informazioni, consultare Backup Pro e Disaster Recovery. A differenza dei backup live automatici negli ambienti Pro Staging e Production, i backup sono non automatici. È tua responsabilità creare manualmente un backup o impostare un processo cron per creare periodicamente un backup degli ambienti di integrazione Starter o Pro.
Creare un backup manuale
È possibile creare un backup manuale di qualsiasi ambiente Starter attivo e dell'ambiente di integrazione Pro da Cloud Console o creare un'istantanea da Cloud CLI. Devi avere un Ruolo amministratore per l'ambiente.
Per creare un backup di qualsiasi ambiente Starter utilizzandoCloud Console:
-
Accedi a Cloud Console.
-
Seleziona un ambiente dalla barra di navigazione del progetto. L’ambiente deve essere attivo.
-
Nella visualizzazione Backup, fare clic su Backup. Questa opzione non è disponibile per un ambiente Pro.
{width="150"}
Per creare un backup di un ambiente di integrazione utilizzandoCloud Console:
- Accedi a Cloud Console.
- Seleziona un ambiente di integrazione/sviluppo dalla barra di navigazione del progetto. L’ambiente deve essere attivo.
- Selezionare l'opzione Backup nel menu in alto a destra. Questa opzione è disponibile per gli ambienti Starter e Pro.
- Fare clic sul pulsante Yes.
Per creare uno snapshot utilizzando magento-cloud
CLI:
-
Sulla workstation locale, passa alla directory del progetto.
-
Estrai il ramo dell’ambiente per creare un’istantanea.
-
Crea lo snapshot.
code language-bash magento-cloud snapshot:create --live
In alternativa, è possibile utilizzare il comando breve
magento-cloud backup
. L'opzione--live
lascia l'ambiente in esecuzione per evitare tempi di inattività. Per un elenco completo delle opzioni, immetteremagento-cloud snapshot:create --help
.Risposta di esempio:
code language-none Creating a snapshot of develop-branch Waiting for the activity ID (User created a backup of develop-branch): Creating backup of develop-branch Created backup my-snapshot [============================] 45 secs (complete) Activity ID succeeded Snapshot name: my-snapshot
-
Verificare gli snapshot più recenti.
code language-bash magento-cloud snapshot:list
L'elenco restituisce informazioni sullo stato dello snapshot:
code language-none Snapshots on the project (project-id), environment develop-branch (type: development): +---------------------------+----------------------+------------+ | Created | Snapshot ID | Restorable | +---------------------------+----------------------+------------+ | 2023-03-08T17:07:01+00:00 | my-snapshot | true | +---------------------------+----------------------+------------+
Ripristinare un backup manuale
Devi avere accesso amministratore all'ambiente. Hai fino a sette giorni per ripristinare un backup manuale. Il ripristino di un backup non modifica il codice del ramo Git corrente. Il ripristino di un backup in questo modo non è applicabile agli ambienti di staging e produzione Pro; vedere Backup Pro e ripristino di emergenza.
I tempi di ripristino variano a seconda delle dimensioni del database:
- database di grandi dimensioni (oltre 200 GB) può richiedere 5 ore
- database di medie dimensioni (150 GB) può richiedere 2 ore e mezza
- database di piccole dimensioni (60 GB) può richiedere 1 ora
- Per ripristinare il codice precedente o rimuovere le estensioni aggiunte in un ambiente, vedere Codice di rollback.
- Per ripristinare un ambiente instabile che non dispone di un backup di not, vedere Ripristinare un ambiente.
Per ripristinare un backup utilizzandoCloud Console:
-
Accedi a Cloud Console.
-
Seleziona un ambiente dalla barra di navigazione del progetto.
-
Nella visualizzazione Backup, scegliere un backup dall'elenco Archiviato. La funzionalità di backup non è applicabile agli ambienti Pro.
-
Nel menu
{width="32"}
(Altro), fare clic su Ripristina.
-
Rivedere le informazioni di ripristino dal backup e fare clic su Sì, ripristino.
Per ripristinare uno snapshot utilizzando Cloud CLI:
-
Sulla workstation locale, passa alla directory del progetto.
-
Consulta il ramo dell’ambiente da ripristinare.
-
Elenca tutte le istantanee disponibili.
code language-bash magento-cloud snapshot:list
L'elenco restituisce informazioni sugli snapshot disponibili:
code language-none Snapshots on the project (project-id), environment develop-branch (type: development): +---------------------------+----------------------+------------+ | Created | Snapshot ID | Restorable | +---------------------------+----------------------+------------+ | 2023-03-08T17:07:01+00:00 | my-snapshot | true | +---------------------------+----------------------+------------+
-
Ripristinare una copia istantanea utilizzando l'ID della copia istantanea dall'elenco.
code language-bash magento-cloud snapshot:restore <snapshot-id>
Ripristino di un'istantanea di disaster recovery
Per ripristinare lo snapshot del ripristino di emergenza negli ambienti di staging e produzione Pro, Importare l'immagine del database direttamente dal server.
Codice di rollback
I backup e gli snapshot non includono not una copia del codice. Il codice è già archiviato nell’archivio basato su Git, pertanto puoi utilizzare i comandi basati su Git per eseguire il rollback (o il ripristino) del codice. Utilizzare ad esempio git log --oneline
per scorrere i commit precedenti, quindi utilizzare git revert
per ripristinare il codice da un commit specifico.
Inoltre, puoi scegliere di archiviare il codice in un ramo inattivo. Utilizza i comandi Git per creare un ramo anziché i comandi magento-cloud
. Per informazioni sui comandi Git, vedere l'argomento CLI di Cloud.