Backup e rollback del file system, dell'media e del database
Questo comando consente di eseguire il backup:
- Il file system (escluse
var
le epub/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.
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 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.
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:
-
Se non l'avete già fatto, passate al file system proprietario.
-
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
Indietro la directory pub/media. var/backups/<timestamp>/_filesystem_media.tgz
--db
Indietro il database. var/backups/<timestamp>/_db.sql
-
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