Backup e rollback del file system, dei supporti e del database

Questo comando consente di eseguire il backup di:

  • Il file system (escluso var e pub/static directory)
  • Il pub/media directory
  • Il database

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

Dopo il backup, è possibile: rollback più tardi.

TIP
Per i progetti Adobe Commerce su infrastrutture cloud, consulta Snapshot e gestione dei backup nel Guida al 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 obsoleto:
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, con conseguente scrittura di dati incompleti nel file system o nel database utilizzando magento setup:rollback comando.

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

Come impostare i file aperti ulimit

È consigliabile impostare i file aperti ulimit per l'utente del file system a un valore di 65536 o più.

È possibile eseguire questa operazione sulla riga di comando oppure impostarla come impostazione permanente per l'utente modificandone lo script shell.

Prima di continuare, se non lo hai già fatto, passa alla proprietario del file system.

Comando:

ulimit -s 65536

Se necessario, puoi modificare questo valore in un valore maggiore.

NOTE
Sintassi dei file aperti ulimit 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 la pagina man o il riferimento al sistema operativo.

Per impostare facoltativamente il valore nella shell Bash dell'utente:

  1. Se non lo hai già fatto, passa alla proprietario del file system.

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

  3. Aggiungi la seguente riga:

    code language-bash
    ulimit -s 65536
    
  4. Salva le modifiche apportate a .bashrc ed esci dall’editor di testo.

WARNING
È consigliabile evitare di impostare un valore per pcre.recursion_limit nel php.ini perché può 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 Eseguire il backup della directory pub/media. var/backups/<timestamp>/_filesystem_media.tgz
    --db Eseguire il backup del database. var/backups/<timestamp>/_db.sql
  3. Porta il negozio fuori dalla modalità di manutenzione.

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

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

Messaggi simili alla seguente visualizzazione:

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, immetti

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