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
- File del codice in /var/www/html (escluso /var/, /pub/static/, /generated/ rigenerabili).
- Cartella /pub/media/ con immagini prodotti e contenuti CMS.
- Database MySQL/MariaDB completo.
- File di configurazione: app/etc/env.php, app/etc/config.php.
- 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.