Il sito web è stato realizzato e tutto funziona correttamente. Ora è meglio fare un backup di Drupal, ma come? Salvare i file del CMS è facile, basta copiare la directory dove lo si è installato. E per il database? Come fare il backup del database?
Uno dei metodi più comuni che si possono usare per salvare il database di Drupal è attraverso l'esportazione dei dati usando le classiche interfaccie di amministrazione dei database, come ad esempio phpMyAdmin.
In questo modo è però necessario avere sotto mano i dati di autenticazione del DB e la procedura necessita di diversi click. Moltiplichiamo per tutti i database da salvare e ci si può rendere conto di come questa sia una soluzione non ottimale.
The Drupal way - backup and migrate
Il metodo che preferisco è quello di usare il modulo backup and migrate (backup_migrate) che permette di effettuare il backup del database di Drupal direttamente dall'interfaccia di amministrazione del CMS.
Le opzioni di configurazione sono numerose. Questo modulo per drupal, inoltre, permette anche di pianificare dei salvataggi periodici (backup scheduler).
Ecco le funzionalità principali:
- Compressione database Drupal.
- Crittografia dei backup (file encryption).
- Pianificazione backup (backup scheduler).
- Configurazioni multiple con diversi profili di backup.
- Numerose opzioni per la destinazione dei backup come FTP, backup in locale, invio per email del backup, o tramite Amazon S3.
- Backup immediato.
- Integrazione con modulo per il backup dei file caricati dagli utenti.
- Ripristino dei backup Drupal (solo se effettuati con il modulo backup and migrate).
Se il file di backup del database viene salvato nello stesso server del sito, la directory che contiene i backup è protetta dagli accessi web non autorizzati tramite il file di configurazione .htaccess, in questo modo solo l'amministratore del sistema è in grado di poter scaricare il file di backup.
Consigli per i backup
Concludo questo semplice tutorial con un consiglio per il backup completo di drupal: dopo aver installato e configurato Drupal, si può installare anche il modulo backup and migrate per salvare periodicamente il database nel server. In seguito potremo effettuare il backup della root del sito in modo da backuppare (ad esempio scaricando tramite FTP) in un solo passaggio sia i file di Drupal che il suo database.
Automatizzare i backup
Per comodità ho realizzato uno script di backup per drupal che automaticamente esegue il backup dei siti realizzati in Drupal. Si tratta di una semplice procedura in Ruby che effettua il download tramite FTP di tutti i siti web. Attualmente lo script scarica gli interi siti web escludendo gli upload degli utenti per velocizzare il processo.
Prossimamente lo script verrà eseguito dal webserver in modo da preparare un unico pacchetto compresso che potrò quindi trasferire ancora più velocemente.
Salve, ma se il sito subisce danni, non è possibile accedere all'interfaccia di amministrazione per effettuare il restore, dunque il backup and migrate module è veramente inutile nel 99% dei casi. Sarei invece interessata a capire come effettuare un backup manuale, perché non essendo un tecnico nel settore ho molte difficoltà a seguire le discussioni in rete. Inoltre queste fanno sempre riferimento al backup del sito già nell'hosting, invece il sito su cui sto lavorando è ancora in locale. Grazie
Ovviamente questo tipo di backup non serve per risolvere problemi legati alla corruzione del DB, ma solamente per avere accesso a precedenti versioni dei contenuti o della configurazione. comunque se anche ci fossero problemi nella UI puoi sempre reinstallare Drupal da zero assieme a questo modulo e poi ripristinare un vecchio snapshot del DB creato con backup & migrate, quindi non è proprio così inutile :-)