Come configurare backup incrementali WordPress per risparmiare spazio
I backup completi di WordPress possono occupare gigabyte di spazio, specialmente su siti con molte immagini e contenuti. Se fai un backup giornaliero completo, dopo un mese hai 30 copie dell’intero sito che saturano rapidamente lo spazio di archiviazione. La soluzione sono i backup incrementali: dopo il primo backup completo, vengono salvati solo i file modificati dall’ultimo backup. In questa guida ti spiego come funzionano e come configurarli per il tuo sito WordPress.
Come funzionano i backup incrementali
Un backup incrementale salva solo le differenze rispetto al backup precedente. Il primo backup è sempre completo e include tutti i file e il database. I backup successivi analizzano quali file sono stati creati, modificati o eliminati e salvano solo quelli. Il risultato è un enorme risparmio di spazio e tempo:
- Backup completo giornaliero: se il sito pesa 5 GB, dopo 30 giorni hai 150 GB di backup.
- Backup incrementale giornaliero: il primo backup pesa 5 GB, i successivi pesano solo 50-200 MB ciascuno (solo i file modificati). Dopo 30 giorni hai circa 10-12 GB totali.
Il risparmio è ancora più evidente per siti grandi con molte immagini: la cartella uploads/ può pesare diversi gigabyte, ma cambia poco da un giorno all’altro. Con i backup incrementali, quelle immagini vengono salvate una sola volta.
Backup incrementali con plugin WordPress
BlogVault
BlogVault è uno dei pochi plugin che offre backup incrementali reali. Dopo il primo backup completo, sincronizza solo le modifiche. I backup vengono salvati sui server di BlogVault (non sul tuo hosting), con 90 giorni di cronologia. Il piano parte da 89$/anno per sito e include anche staging e migrazione. È la soluzione più semplice se vuoi backup incrementali senza configurazione manuale.
UpdraftPlus Premium
UpdraftPlus Premium supporta i backup incrementali nella sua versione a pagamento. Puoi configurare backup incrementali giornalieri con archiviazione su Google Drive, Dropbox, Amazon S3 o altri servizi cloud. La configurazione è semplice: nelle impostazioni di UpdraftPlus, attiva l’opzione “Backup incrementali” e imposta la frequenza desiderata. Il plugin terrà traccia dei file modificati e includerà solo quelli nei backup successivi al primo.
JetBackup (per cPanel)
Se il tuo hosting usa cPanel, potresti avere accesso a JetBackup, uno strumento di backup a livello server che supporta nativamente i backup incrementali. JetBackup è configurato dall’hosting provider e offre backup automatici giornalieri con ripristino granulare (puoi ripristinare singoli file o database). Controlla nel tuo cPanel se è disponibile.
Backup incrementali via SSH con rsync
Se hai accesso SSH, rsync è lo strumento perfetto per backup incrementali manuali o automatizzati. Rsync confronta i file sorgente con quelli di destinazione e trasferisce solo le differenze:
rsync -avz --delete /var/www/html/ /home/utente/backups/wordpress-latest/
Questo comando sincronizza la cartella WordPress con la cartella di backup, trasferendo solo i file nuovi o modificati. L’opzione –delete rimuove dalla destinazione i file cancellati dalla sorgente, mantenendo le due cartelle identiche.
Per mantenere una cronologia di backup con hard link (risparmiando spazio su disco), puoi usare questa tecnica avanzata:
#!/bin/bash DATE=$(date +%Y%m%d) BACKUP_DIR="/home/utente/backups" LATEST="$BACKUP_DIR/latest" NEW="$BACKUP_DIR/$DATE" rsync -avz --delete --link-dest=$LATEST /var/www/html/ $NEW/ rm -f $LATEST ln -s $NEW $LATEST
L’opzione –link-dest crea hard link per i file non modificati: occupano spazio solo una volta su disco ma appaiono in ogni cartella di backup. Ogni backup sembra completo ma occupa solo lo spazio dei file modificati.
Backup incrementale del database
Per il database, il concetto di incrementale è diverso. Il modo più pratico è esportare un dump completo ogni volta (il database generalmente è molto più piccolo dei file) e comprimerlo. Se vuoi risparmiare ulteriormente, puoi usare il binary log di MySQL per catturare solo le modifiche:
# Abilitare il binary log in my.cnf log_bin = /var/log/mysql/mysql-bin expire_logs_days = 7
In pratica, per la maggior parte dei siti WordPress, un dump SQL giornaliero compresso è sufficiente e pesa pochi megabyte. Il vero risparmio dei backup incrementali è sui file, specialmente la cartella uploads.
Strategia di backup consigliata
Una strategia equilibrata per la maggior parte dei siti WordPress combina diversi livelli:
- Backup incrementale giornaliero: salva i file modificati e un dump del database ogni giorno. Conserva 30 giorni di cronologia.
- Backup completo settimanale: un backup completo ogni settimana come punto di riferimento sicuro. Conserva 4 backup settimanali.
- Backup completo mensile: un backup di archivio conservato per 6-12 mesi.
Questa strategia offre la massima flessibilità di ripristino con un consumo di spazio ragionevole. Puoi ripristinare a qualsiasi giorno dell’ultimo mese, a qualsiasi settimana degli ultimi due mesi e a qualsiasi mese dell’ultimo anno.
Automatizzare i backup incrementali con cron
Un backup è utile solo se viene eseguito regolarmente. Il modo migliore per automatizzare i backup incrementali su un server Linux è usare cron. Apri il crontab con crontab -e e aggiungi una riga come questa:
# Backup incrementale ogni notte alle 3:00 0 3 * * * /home/utente/scripts/backup-wordpress.sh >> /var/log/backup-wp.log 2>&1
All’interno dello script puoi combinare il backup dei file con rsync e il dump del database con mysqldump. Aggiungi anche una rotazione automatica che elimina i backup più vecchi di 30 giorni:
find /home/utente/backups/ -maxdepth 1 -type d -mtime +30 -exec rm -rf {} ;
Dopo aver configurato il cron, verifica che funzioni controllando il file di log il giorno successivo. Un errore comune è dimenticare di rendere eseguibile lo script con chmod +x o non impostare i permessi corretti per accedere ai file di WordPress.
Verificare che i backup funzionino
Creare backup senza mai testarli è un errore grave. Almeno una volta al mese, verifica che i tuoi backup siano utilizzabili. Controlla che gli archivi non siano corrotti, che il dump SQL si possa importare e che i file siano completi. Se usi rsync, puoi confrontare sorgente e destinazione con il flag –dry-run per verificare che siano allineati senza trasferire dati. Un backup non testato è come non avere un backup.
Dove archiviare i backup incrementali
I backup devono essere archiviati su un supporto diverso dal server del sito. Le opzioni più comuni sono:
- Cloud storage: Amazon S3, Google Cloud Storage, Backblaze B2 offrono storage economico e affidabile con ridondanza geografica.
- Server remoto: un secondo server via rsync su SSH è veloce e ti dà pieno controllo.
- Storage locale: un NAS o un disco esterno per backup aggiuntivi, utile come terza copia.
La regola d’oro è la strategia 3-2-1: 3 copie dei dati, su 2 supporti diversi, con 1 copia fuori sede. Con i backup incrementali, mantenere tre copie diventa sostenibile anche in termini di spazio.
Serve aiuto con i backup?
Se vuoi configurare una strategia di backup incrementale professionale per il tuo sito WordPress, il team di SoccorsoWP può impostarla per te con automazione completa e verifica periodica. Apri un ticket e proteggi i tuoi dati in modo intelligente.