Backup e rollback del file system, dei supporti e del database
Questo comando consente di eseguire il backup di:
- Il file system (escluse
var
epub/static
directory) - La directory
pub/media
- 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.
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
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 aperti ulimit
per l'utente del file system su un valore pari a 65536
o superiore.
È 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 al proprietario del file system.
Comando:
ulimit -s 65536
Se necessario, puoi modificare questo valore in un valore maggiore.
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:
-
Se non lo hai già fatto, passa al proprietario del file system.
-
Apri
/home/<username>/.bashrc
in un editor di testo. -
Aggiungi la seguente riga:
code language-bash ulimit -s 65536
-
Salvare le modifiche apportate a
.bashrc
e uscire dall'editor di testo.
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:
-
Mette l'archivio in modalità di manutenzione.
-
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
-
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
, 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