Backup e rollback del file system, dell'media e del database

Questo comando consente di eseguire il backup:

  • Il file system (escluse var le e pub/static directory)
  • La pub/media directory
  • Il database

I backup sono archiviati nella directory var/backups e possono essere ripristinati in qualsiasi momento utilizzando il comando magento setup:rollback.

Dopo il backup, puoi eseguire il rollback in un secondo momento.

TIP
Per i progetti Adobe Commerce su infrastrutture cloud, consulta Snapshot e gestione backup nella Guida cloud.

Abilita backup

La funzione di backup è disabilitata per impostazione predefinita. Per attivare questa opzione, immettere il seguente comando CLI:

bin/magento config:set system/backup/functionality_enabled 1
WARNING
Avviso di rimozione:
La funzionalità di backup è obsoleta dal 2.1.16, 2.2.7 e 2.3.0. Si consiglia di esaminare ulteriori tecnologie di backup e strumenti di backup binari (come Percona XtraBackup).

Imposta il limite di file aperti

Il rollback a un backup precedente può non riuscire in modo invisibile all'utente, causando la scrittura di dati incompleti nel file system o nel database tramite il comando magento setup:rollback.

A volte, una lunga stringa di query causa la mancanza di memoria dell’utente a causa di troppe chiamate ricorsive.

Impostare i file aperti ulimit

È consigliabile impostare i file ulimit aperti per il file system utente su un valore pari 65536 o superiore.

Puoi farlo sia sulla riga di comando o puoi renderlo un'impostazione permanente per il utente modificando il loro script di shell.

Prima di continuare, se non l'avete già fatto, passate al file system proprietario.

Comando:

ulimit -s 65536

Se necessario, è possibile modificarlo con un valore maggiore.

NOTE
La sintassi per i file ulimit aperti dipende dalla shell UNIX utilizzata. L'impostazione precedente dovrebbe funzionare con CentOS e Ubuntu con la shell Bash. Tuttavia, per macOS, l'impostazione corretta è ulimit -S 65532. Per ulteriori informazioni, consultare una pagina man o un riferimento al sistema operativo.

Per impostare facoltativamente il valore nella shell Bash del utente:

  1. Se non l'avete già fatto, passate al file system proprietario.

  2. Apri /home/<username>/.bashrc in un editor di testo.

  3. Aggiungi la seguente riga:

    code language-bash
    ulimit -s 65536
    
  4. Salvare le modifiche apportate a .bashrc e uscire dall'editor di testo.

WARNING
È consigliabile evitare di impostare un valore per pcre.recursion_limit nel file php.ini, in quanto potrebbe causare rollback incompleti senza alcun avviso di errore.

Backup

Utilizzo comando:

bin/magento setup:backup [--code] [--media] [--db]

Il comando esegue le seguenti operazioni:

  1. Mette l'archivio in modalità di manutenzione.

  2. Esegue una delle seguenti opzioni di comando.

    table 0-row-3 1-row-3 2-row-3 3-row-3
    Opzione Significato Nome e percorso del file di backup
    --code Esegue il backup del file system (escluse le directory var e pub/static). var/backups/<timestamp>/_filesystem.tgz
    --media Indietro la directory pub/media. var/backups/<timestamp>/_filesystem_media.tgz
    --db Indietro il database. var/backups/<timestamp>/_db.sql
  3. Toglie il store dalla modalità di manutenzione.

Ad esempio, per eseguire il backup del file system e del database,

bin/magento setup:backup --code --db

Vengono visualizzati messaggi simili al seguente:

Enabling maintenance mode
Code backup is starting...
Code backup filename: 1434133011_filesystem.tgz (The archive can be uncompressed with 7-Zip on Windows systems)
Code backup path: /var/www/html/magento2/var/backups/1434133011_filesystem.tgz
[SUCCESS]: Code backup completed successfully.
DB backup is starting...
DB backup filename: 1434133011_db.sql
DB backup path: /var/www/html/magento2/var/backups/1434133011_db.sql
[SUCCESS]: DB backup completed successfully.
Disabling maintenance mode

Rollback

Questa sezione illustra come ripristinare un backup precedente. È necessario conoscere il nome del file di backup da ripristinare.

Per trovare il nome dei backup, immettere:

bin/magento info:backups:list

La prima stringa nel nome del file di backup è la marca temporale.

Per eseguire il rollback a un backup precedente, immettere:

bin/magento setup:rollback [-c|--code-file="<name>"] [-m|--media-file="<name>"] [-d|--db-file="<name>"]

Ad esempio, per ripristinare un backup multimediale denominato 1440611839_filesystem_media.tgz, immettere:

bin/magento setup:rollback -m 1440611839_filesystem_media.tgz

Messaggi simili alla seguente visualizzazione:

[SUCCESS]: Media rollback completed successfully.
Please set file permission of bin/magento to executable
Disabling maintenance mode
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995