Pianificare, eseguire e verificare il backup del proprio blog

backupPhoto credit: Backup di Newsongny

Alcune settimane fa, a seguito di un problema con il mio hoster, ho scritto un post di come avessi recuperato il blog grazie ad un provvidenziale backup. Per farlo ho usato la tecnica “inventiva e dita incrociate” ed il post era molto poco tecnico, anche se serviva a chi ne avesse bisogno urgentemente. L’invito in quello stesso post di scendere in dettagli tecnici è stato raccolto da Enrico Vignali di Guadagno su Internet, un blog su come guadagnare con Internet, che mi ha inviato questo esauriente guest post.

Una delle attività più importanti (ed il più delle volte trascurata) nella gestione di un blog è quella di redigere una procedura di backup e disaster recovery che ti consenta di avere sempre delle copie aggiornate dei tuoi dati e che, soprattutto, definisca come utilizzarli per ripristinare gli stessi in caso di necessità.

So cosa stai pensando: “Ma a me non è mai successo niente, eppure non ho mai fatto un backup”

In realtà sono tante le occasioni in cui un backup può essere indispensabile:

  • un problema sul nostro hosting
  • un plug-in che crea dei problemi
  • un aggiornamento di WordPress che non va a buon fine

Sono quindi tanti gli eventi imprevisti che possono costringerci a ricorrere ad un ripristino di emergenza di WordPress come ti ha raccontato Fabio nel suo articolo su come eseguire il backup di WordPress.

Come effettuare un backup efficace del proprio blog WordPress

Una corretta strategia di backup parte, prima ancora che dalle tecnologie utilizzate, da una corretta pianificazione.
Le prime due domande che devi porti sono le seguenti:

  1. Con quale frequenza devo effettuare il backup?
  2. Quanto tempo potrei dover tornare indietro nel tempo in caso di necessità?

La frequenza del backup va determinata in base alla frequenza di aggiornamento del blog.
Se pubblichi uno o più articoli al giorno è opportuno effettuare il backup giornalmente (o addirittura più volte al giorno), se pubblichi uno o due articoli a settimana un backup settimanale potrebbe essere sufficiente per le tue esigenze.

Oltre ai backup schedulati ricordati che è sempre necessario effettuare manualmente dei backup prima di qualsiasi aggiornamento critico sull’infrastruttura del blog (aggiornamenti di WordPress, installazione di plug-in non conosciuti e potenzialmente impattanti, etc.).

Conservare le copie di backup in base alle esigenze di storicizzazione. Nella mia personale esperienza è sempre bastata l’ultima copia di backup disponibile del mio blog, ma non sempre le problematiche si manifestano immediatamente e può essere necessario effettuare un ripristino ad una data più vecchia.

La durata dell’archiviazione (il mantenimento quindi di copie di backup di diversi periodi passati) è molto soggettiva e dipende da come utilizzi il blog e dalle modifiche che puoi essere solito apportate. Io penso comunque che una buona strategia, se non hai le idee chiare, sia quella di conservare una copia di backup degli ultimi dodici mesi (una copia per ogni mese).

Daniel Scocco di Daily Blog Tips, che considero un interessante esempio di riferimento, ha illustrato in un post recente il suo Disaster Recovery Plan: lui utilizza una strategia a tre livelli con diverse tecniche di backup ed utilizzo di archivi in tre diverse locazioni e con diverse frequenze.

La scelta della strategia di backup da utilizzare dipende quindi da diversi fattori:

  • Frequenza di aggiornamento del blog;
  • Ricavi del Blog rapportati ai costi del Backup;
  • Costi del Backup in termini di tempo (se le procedure non sono automatizzate) ed hardware (storage).

Personalmente, sulla base dei criteri sopra esposti, se avessi un blog come quello di Daniel Scocco, avrei inserito un secondo livello di backup con frequenza giornaliera e non settimanale, ma sicuramente Daniel avrà fatto le sue considerazioni e probabilmente considera molto affidabile il servizio di backup offerto dal proprio provider.

Strumenti di Backup

Esistono diverse tecniche per effettuare il backup di WordPress:

  • Effettuare un backup mediante strumenti forniti dal tuo provider
  • Utilizzare gli strumenti export/import di WordPress
  • Effettuare backup separati di Database e dati

1) Backup con strumenti del proprio provider
Se hai acquistato dal tuo provider un servizio di virtual server, in molti casi (ad esempio Aruba o Netsons) il provider stesso fornisce nel pannello di controllo strumenti per effettuare un backup completo dell’intero server schedulandolo secondo cadenza programmata o rende anche possibile effettuare un backup completo su richiesta. Questa tipologia di backup consente un ripristino veloce nel caso in cui ci siano dei blocchi ripristinando completamente lo stato del tuo blog alla data dell’ultimo backup disponibile.

2) Strumento import/export
Lo strumento import/export di WordPress, accessibile dal menù “Tools”, è pensato in particolare per importare/esportare i dati del Blog da altre piattaforme. Può essere comunque utilizzato anche per generare una copia di emergenza dei propri post: mediante la funzione export è possibile generare un file .xml da salvare sul proprio pc (è possibile anche filtrare i post da esportare in base all’autore), lo stesso file può essere utilizzato mediante lo strumento import per importare i post. Tieni conto che questa funzione non richiede il backup del database, in quanto, in fase di ripristino è lo stesso tool a ricostruire il database. E’ però importante sottolineare che il tool si limita ad esportare (o importare) solo il testo dei post: è pertanto necessario reinstallare manualmente tutti gli eventuali widget, temi e foto presenti nel blog.

3) Backup separato del Database e dei Dati
L’ultima tecnica di backup è quella che personalmente utilizzo: prevede l’utilizzo di due strumenti diversi di backup. Il primo prevede, mediante un plug-in di WordPress denominato WP Database Backup, di effettuare il backup del database sia in maniera schedulata che su richiesta. Una volta installato il backup sul tuo Blog WordPress, puoi accedere alla gestione del Backup da Tools –> Backup. Il plug-in, di facile utilizzo ed estremamente intuitivo, consente di selezionare le tabelle da sottoporre al backup, differenziando la selezione delle tabelle per l’attività schedulata e per quella a richiesta. Il file di backup, quando richiesto manualmente, può essere salvato sul server, inviato via mail o inviato ad un percorso ftp.Nella modalità schedulata viene inviato sempre via mail, ma può essere impostata la frequenza del backup (una volta all’ora, due volte al giorno, una volta al giorno, settimanale).

Il semplice database del backup, però, non basta a tutelare tutti i dati del tuo Blog: difatti le impostazioni dei temi (ed eventuali personalizzazioni sugli stessi) e tutte le foto o altri documenti che siano stati caricati sul server (tipicamente il contenuto della cartella “uploads”) vanno copiate a parte. Per fare questo è necessario ed opportuno fare una copia periodica anche del contenuto del server: questo può essere effettuato manualmente copiando i dati via FTP sul tuo computer: una volta fatto l’accesso allo spazio FTP è necessario copiare tutto il contenuto della struttura di WordPress dalla radice e poi custodirla sul proprio hard disk, su un disco esterno o creare periodicamente dei CD, inserendo anche i backup del database.

Simulazione del Disastro

Un aspetto spesso tralasciato nella nostra strategia di backup è quello di prevedere (ed eseguire) una simulazione di Disaster Recovery. Cosa vuol dire simulare un Disaster Recovery?

Vuol dire provare, partendo dai backup effettuati, a ricostruire da zero il nostro blog. Questa attività ha lo scopo principale di poter svolgere in tranquillità una serie di attività di ripristino che potrebbe essere difficile eseguire in un momento di fermo, in cui potrebbe non esserci la calma e la lucidità necessarie per eseguire le sequenze necessarie nella maniera corretta.

In secondo luogo, effettuando questa simulazione, si ottiene anche il risultato di verificare che i nostri job di backup siano completi ed effettuino il salvataggio di tutto quanto serva per ricostruire il nostro blog.

Personalmente ti consiglierei di fare una prova di simulazione almeno una volta l’anno. A me è capitato recentemente di cambiare hosting e per poter effettuare tutte le operazioni di trasferimento ho effettuato nient’altro che un backup completo del sito originale residente nello spazio messo a disposizione dal vecchio provider ed il ripristino successivo sul nuovo spazio, come ho descritto dettagliatamente nell’articolo Ripristinare il tuo blog WordPress.

Grazie Enrico! Se anche voi volete avere un guest post su Guadagnare con un Blog, siete invitati a contattarmi.

18 Comments
  1. […] Pianificare, eseguire e verificare il backup del proprio Blog […]

  2. Reply
    Omar Tringali 31/08/2009 at 19:58

    Grazie Fabio, tra qualche giorno lancerò il mio Blog su WordPress dunque questo post e quelli linkati dal post stesso mi saranno molto utili. Ciao.

  3. Reply
    Fabio 31/08/2009 at 20:29

    @Omar: Ringrazia Enrico, non me…

  4. Reply
    Omar Tringali 31/08/2009 at 22:42

    Ohh, scusami, grazie Enrico!!

  5. Reply
    roberto 31/08/2009 at 23:07

    proprio mi serviva!!..me lo stampo e lo conservo trai preferiti. Grazie Enrico

  6. Reply
    .... 01/09/2009 at 14:08

    che ti contattano a fare tanto non rispondi alle mail, o meglio rispondi solo a quelle che vuoi rispondere…sei solo un blogger un altro blogger superficiale…

  7. Reply
    Fabio 01/09/2009 at 14:36

    @….: Di solito rispondo sempre a tutti, anche se non immediatamente… e non ho risposte pendenti ora. Mi hai scritto e non ho risposto? Può essermi sfuggita la tua mail, rimandala.

  8. Ciao a tutti,

    @Omar e Roberto sono contento di esservi stato utile.

    Ringrazio Fabio per lo spazio concessomi e mi auguro di avere nuovamente a breve l’ispirazione giusta per poter scrivere un nuovo guest post sul blog di Fabio.

  9. Reply
    Adsense Blog 03/09/2009 at 15:51

    Io sinceramente preferisco fare il backup manuale, poichè utilizzando script e plugin automatici si rischia poi di incontrare problemi nella fase di ripristino. Lo dico per esperienza personale.
    Quindi una volta al mese mi scarico i dati FTP e poi con PHPmyAdmin faccio una copia del database.

  10. @Adsense Blog

    Fare tutto a mano ha i suoi vantaggi, ma anche pesanti svantaggi: io, personalmente, molto spesso mi dimenticherei di farlo.

    Anche i tempi per una gestione manuale sono inevitabilmente più larghi. Tu hai scritto che fai il backup ogni 30 giorni: se si è molto sfortunati e la rottura capita il ventinovesimo giorno? E’ una bella rottura…

    Una via di mezzo, che trovo molto interessante, è quella di gestire un backup frequente in automatico e, in aggiunta, uno manuale con cadenza ridotta (ad es. mensile come nel tuo caso).

  11. […] Pianificare, eseguire e verificare il backup del proprio blog Una esauriente guida tecnica su come effettuare il backup di WordPress e con quali strumenti. […]

  12. Reply
    Redemption 11/09/2009 at 20:45

    Per non fare backup ho perso il lavoro di una settimana… da allora mi sono attrezzato perché la cosa non si riproponga più.

  13. @Redemption

    Purtroppo in tanti, anche tra le aziende che seguo, si iniziano ad accorgere dell’importanza del backup solo quando si trovano nella situazione di doverlo utilizzare.

    Che strategia di backup hai adottato?

  14. Reply
    FNF 17/09/2009 at 21:22

    Una piccola aggiunta:
    MySQL consente di impostare le repliche di database, ovvero delle copie “slave” di un database mysql sulle quali vengono copiati in maniera asincrona gli stessi dati della copia principale “master”. Non è necessario tenere i db sullo stesso host quindi; da quando ho scoperto questa funzionalità sono più tranquillo, per ogni blog, sito, cms che ho in giro ho una copia replicata su un altro hosting, localizzato geograficamente lontano dai server che ospitano i db master. La copia è del tutto trasparente agli utenti e non rallenta il caricamento del sito (fermo restando che le query costituiscano sempre il carico maggiore in confronto alle modifiche o cancellazioni).
    L’unica difficoltà sta nel fatto che gli hosting economici condividono i database pertanto potrebe non essere possibile accedere ai parametri di configurazione per mancanza di permessi (onde evitare di replicare il database di qualcun altro)!

  15. @FNF

    Questo accorgimento è ottimo per la continuità del servizio in caso di emergenza o per ripristinare qualche cancellazione fatta per sbaglio di cui ci si è accorti subito.

    Non so ogni quanto hai schedulato la sincronizzazione dei Database, ma di sicuro è comunque necessario mantenere delle copie storiche di backup in aggiunta.

    Ottima segnalazione e grazie.

  16. Reply
    FNF 18/09/2009 at 00:57

    La replica avviene pressocchè in tempo reale, vai praticamente a creare un gemello del tuo db (quando scrivi su uno automaticamente le informazioni vengono clonate anche sull’altro), pertanto non si tratta di un backup che devi impostare ad intervalli periodici. Dico “pressocchè” poichè la replica viene effettuata in maniera asincrona, ma lo scarto di tempo e brevissimo che è come se tutto avvenisse in tempo reale. Il vero real-time si ha usando delle architetture clusterizzate, mysql pure permette una struttura del genere ma per dei blog personali sinceramente non credo ne valga la pena.
    Ciao

  17. @FNF

    Grazie per la precisazione!

    Uno strumento quindi molto utile per poter garantire continuità del servizio nel caso di problemi di inacessibilità del nostro DB principale (ipotizzando chiaramente di avere un front-end separato dal DB).

    Da affiancare comunque ad una corretta strategia di backup per salvaguardare i dati e storicizzarli.

  18. Reply
    Adsense Blog 01/11/2009 at 11:19

    @Enrico: giustamente automatizzare i processi può risultare molto utile, ma un paio di volte io ho provato a ripristinare un backup creato tutto in automaitco tramite lo strumento integrato in plesk ed è stato un mezzo disastro, per cui da quel giorno preferisco di gran lunga stare tranquillo e fare tutto a mano.

Leave a reply