Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Backup automatici in Drupal

Impostiamo il backup del database di Drupal con il modulo Backup and Migrate
Impostiamo il backup del database di Drupal con il modulo Backup and Migrate
Link copiato negli appunti

Mantenere una copia aggiornata del database del sito è un'essenziale misura di sicurezza che ci garantisce dalla perdita di dati che può derivare da problemi tecnici del nostro host, hacking del sito, cancellazioni accidentali.

Poiché è facile dimenticarsi di compiere questa operazione con la necessaria frequenza, uno strumento per il backup automatico del database può risultare di grande utilità. Backup and Migrate è un modulo semplice, ma perfettamente adatto a questo scopo.

Completata la procedura standard per l'installazione ed attivazione di un modulo, in Amministra >> Gestione dei contenuti >> Backup and Migrate possiamo procedere ad impostare i parametri di configurazione suddivisi in quattro schermate.

Figura 1. Parametri Backup and Migrate
parametri Backup and Migrate
  • Backup / Export DB
  • Restore / Import DB
  • Saved Backups
  • Backup Schedule

Configurazione Backup

Nella schermata Backup / Export DB ci vengono presentate due liste di selezione che mostrano tutte le tabelle presenti nel database di Drupal.

Le tabelle selezionate nella prima lista (Exclude the following tables altogether) saranno completamente escluse dal backup, cioè non verranno salvati né la struttura della tabella né i dati.

Le tabelle selezionate nella seconda lista (Exclude the data from the following tables) saranno incluse nel backup, ma ne sarà salvata solo la struttura; in caso di ripristino ci troveremo quindi con una tabella vuota. Per impostazione predefinita troviamo selezionate nella lista alcune tabelle i cui dati non è necessario preservare o perché si tratta di informazioni volatili (sessioni) o perché sono comunque ricreati in automatico da Drupal (cache).

Una volta selezionate le tabelle, scegliamo il nome del file di destinazione del backup, se si desidera che questo file venga compresso e se deve essere scaricato o archiviato sul server. È inoltre possibile aggiungere al nome del file un "timestamp" per facilitarne l'identificazione.

Figura 2. Selezioniamo le tabelle da salvare
Backup and Migrate tabelle salvataggio

A questo punto, con il pulsante Backup Database si può avviare il backup. Il risultato è uno script SQL con le istruzioni necessarie alla creazione delle tabelle e al ripristino dei dati.

Ripristino Backup

L'operazione di ripristino di un backup può avvenire in più modi. Se si è scelto di scaricare il file di backup selezionare Restore / Import DB.

Figura 3. Rispristiniamo un backup
 Rispristiniamo un backup

Tramite il pulsante Sfoglia è possibile reperire il file di backup ed eseguirne il ripristino premendo Restore Database.

Se si è scelto di salvare il backup sul server, selezionare Saved Backups. Ci sarà presentata una lista dei backup disponibili.

Figura 4. Lista backup disponibili
Lista backup disponibili

Eseguiremo il ripristino del backup desiderato tramite il link Restore. Dalla stessa schermata è possibile cancellare un file di backup o scaricarlo per conservarne una copia localmente.

Come detto, il file di backup è un normale script SQL. Si può quindi anche effettuare il ripristino utilizzando la funzione Import SQL di phpMyAdmin o di altro analogo strumento di gestione del database messo a disposizione dal proprio host.

Il ripristino di un backup è una operazione delicata che può rendere il sito inutilizzabile se non viene completata correttamente. Come consigliato anche dalla documentazione del modulo, è opportuno effettuare sempre un test di ripristino su una installazione di prova creata localmente o, avendone la possibilità, in una cartella o sottodominio di prova del proprio spazio web.

Backup automatici

Selezionando Backup Schedule si accede alle impostazioni per i backup automatici.

Figura 5. Frequenza di Backup
backup schedule

Gli unici parametri da impostare sono il numero di ore di intervallo tra un backup automatico ed un altro (Backup every) ed il numero massimo di file di backup da conservare (Number of Backup files to keep): raggiunto questo limite, per ogni backup effettuato il backup più vecchio nella lista sarà rimosso.

I backup automatici possono essere effettuati solo se l'esecuzione dei "cron jobs" standard di Drupal è stata configurata: per questo fare riferimento alla documentazione ufficiale. Se il proprio host non consente la programmazione di "cron jobs" si può provare il modulo Poor's Man Cron.

Sicurezza dei file di backup

È essenziale che i file di backup siano protetti da accessi indesiderati in quanto contengono in forma facilmente leggibile tutti i contenuti del sito inclusi dati sensibili come nomi ed indirizzi e-mail degli utenti registrati. Come si è visto, quando si effettua un backup manuale si può scegliere di non salvare il file .sql sul server, ma scaricarlo direttamente in locale; se si ha l'accortezza di seguire sempre questa procedura non è necessario preoccuparsi di altro.

Ma se configuriamo l'esecuzione di backup automatici, i file saranno necessariamente salvati sul server. Al momento dell'attivazione del modulo nella cartella sites/default/files/backup_migrate/ viene automaticamente inserito un file .htaccess con queste istruzioni:

order allow,deny
deny from all

In questo modo il contenuto della cartella (e delle sotto-cartelle manual e scheduled che contengono gli script SQL generati dal modulo) è protetto dall'accesso publico mediante semplice browser a patto che si sia installato Drupal su server web Apache, un server Windows ignora il contenuto del file .htaccess.

Per eliminare ogni dubbio basterà fare questa semplice prova. Supponendo di aver installato Drupal nella "root" di www.vostrodomino.it, scriviamo nella barra di indirizzi del browser

http://www.vostrodomino.it/sites/default/files/backup_migrate/manual/test.txt

oppure

http://www.vostrodomino.it/sites/default/files/backup_migrate/scheduled/test.txt

test.txt è un file di testo anch'esso inserito automaticamente dal modulo. Digitando entrambi gli indirizzi dovremo ricevere un messaggio di errore dal browser, se invece viene visualizzato il contenuto del file la cartella non è protetta.

Backup di file e cartelle

Va tenuto presente che il modulo Backup and Migrate effettua il backup del solo database che, per quanto essenziale, non è sufficiente nel caso si debba effettuare un ripristino completo del sito a seguito della perdita totale dei dati del proprio account o semplicemente per il trasferimento da un host ad un altro.

In un sito realizzato con Drupal sono di regola presenti molti contenuti salvati non nel database, ma in cartelle del server: le immagini allegate ai tipi di contenuto Image, le immagini caricate su server tramite l'apposita funzione dell'editor WYSIWYG per essere incluse negli articoli, altri file allegati a tipi di contenuto specifici.

Questi dati possono essere salvati trasferendoli in locale via FTP. Una strategia di backup ragionevolmente sicura per un tipico sito Drupal può essere la seguente:

Backup completo "una tantum" di tutto il contenuto della cartella dove si è installato Drupal. Da aggiornare sempre prima di eseguire un upgrade del cms.

Backup di sites/all/modules/ e sites/all/themes ogni qualvolta si installa un modulo o tema aggiuntivo.

Backup di sites/default/files da effettuarsi con la stessa frequenza di quello del database. Questo è specialmente importante se si inseriscono molti contenuti con immagini o allegati altrimenti in caso di ripristino avremo nodi con riferimenti ad immagini o file inesistenti. Fare attenzione che il percorso della cartella può essere diverso da sites/default/files se si è modificato il valore predefinito del campo Percorso di sistema in Amministra >> Configurazione del sito >> File system.

Figura 6. Percorso di sistema
Percorso di sistema

Questa strategia presuppone che si abbia avuto cura, cosa che è bene ricordarsi sempre di fare, di tenere separati i moduli e temi aggiuntivi da quelli dell'installazione base.

Ti consigliamo anche