Backup Magento 2: file + DB

Introduzione

Un backup affidabile e' la prima linea di difesa contro errori di aggiornamento, attacchi e guasti hardware. In Magento 2 backup di file e database vanno gestiti separatamente per garantire massima sicurezza e velocità' di ripristino.

Cosa va salvato

  1. File del codice in /var/www/html (escluso /var/, /pub/static/, /generated/ rigenerabili).
  2. Cartella /pub/media/ con immagini prodotti e contenuti CMS.
  3. Database MySQL/MariaDB completo.
  4. File di configurazione: app/etc/env.php, app/etc/config.php.
  5. Eventuali certificati SSL e chiavi API.

Backup database con mysqldump

Il comando standard e':

mysqldump --single-transaction --quick --routines --triggers -u utente -p magento > magento_$(date +%F).sql

L'opzione --single-transaction garantisce uno snapshot coerente senza lock prolungati. Su database grandi si possono escludere tabelle di log (es. sales_bestsellers_aggregated_*) per ridurre dimensioni.

Backup file con tar o rsync

Per il file system si usa tipicamente tar con compressione gzip:

tar -czf magento_files_$(date +%F).tar.gz --exclude='var/cache' --exclude='var/page_cache' --exclude='generated/*' /var/www/html

Per backup incrementali rsync e' molto più' efficiente, soprattutto per /pub/media/ con migliaia di immagini.

Backup nativo Magento

Magento 2 ha un comando bin/magento setup:backup, ma e' sconsigliato in produzione per i carichi prolungati che genera. E' preferibile fare backup a livello di sistema.

Automazione e retention

Schedulare i backup via cron giornaliero, con conservazione di almeno 7-30 copie. Copiare i backup su storage esterno (S3, Backblaze B2) per protezione off-site. Cifrare i file con GPG se contengono dati personali.

Test di ripristino

Un backup mai testato non e' un backup. Eseguire periodicamente prove di restore su ambiente di staging per verificare coerenza tra file e DB.

Hai bisogno di aiuto?

Se vuoi un Magento ottimizzato dal team di G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?