La guida definitiva per il backup e il ripristino del sito Web

Scopri come eseguire il backup e il ripristino del tuo sito Web con queste best practice del settore, indipendentemente dal CMS del sito Web o dal metodo utilizzato per creare il tuo sito Web.


Come eseguire il backup e il ripristino del sito Web

Durante la creazione del sito Web aziendale, la prima cosa di cui ti preoccupi generalmente è rendere il tuo sito attivo e funzionante; ci vuole molto lavoro, l’importante è far funzionare tutto. Funziona senza intoppi e all’improvviso succede qualcosa. È andato. Mancano i tuoi file.

Se hai creato il tuo sito Web su un server locale, potresti avere già un backup. Hai tutto in due posti, giusto? I file esistono sul server e sul tuo computer. Cosa potrebbe andare storto? Non ci vuole molta immaginazione a pensare a cosa potrebbe accadere. Il tuo computer muore per qualche motivo, sia che si tratti di un inaspettato aumento di potenza, o che il tuo bambino di 3 anni decida che è divertente versare il latte nel tuo laptop. Ma hey, l’hai memorizzato sul server, quindi perché dovresti preoccuparti, giusto? Non così in fretta….

Che cosa succede se il server ha un problema, o quel provider di hosting super economico e apparentemente affidabile va a gonfie vele senza preavviso? Che dire del fatto che il tuo sito web gestisce un database? Hai una copia esatta di ogni file sul tuo computer?

In questo articolo, tratterò tutto ciò che devi sapere sul backup del tuo sito Web, inclusi perché, cosa e come.

Perché eseguire il backup?

Esistono diversi motivi per cui è necessario eseguire il backup del sito Web.

Malware, randomware, file eliminati, comandi errati, errori umani, sviluppatori o dipendenti scontenti e arresti anomali del server sono tutti motivi per cui è necessario eseguire il backup del sito Web!

Clicca per Tweet

Malware / Randsomware

Senza entrare troppo nei dettagli, non esiste un sistema completamente sicuro. Indipendentemente dal numero di procedure e protocolli di sicurezza messi in atto, tutti i sistemi sono vulnerabili. Sebbene esistano gradi di sicurezza, alcuni sistemi sono più vulnerabili di altri. È praticamente impossibile prevenire il tuo sito Web da tutti i tipi di attacchi, e ancora di più se ti aspetti che le persone utilizzino il tuo sito. Pensa a questo come a casa tua; potresti sigillarlo come Fort Knox, ma poi nessuno potrebbe entrare affatto, quindi devi avere le porte. Sicuramente le tue porte hanno delle buone serrature, ma qualcuno potrebbe sempre entrare da una finestra.

Il punto più debole di qualsiasi sistema sono gli umani. Basta un semplice clic o rispondere a quella che sembrava un’e-mail importante per soccombere a un attacco di phishing. Una volta che qualcuno è nel tuo sistema, tramite software o altro, è possibile che possano prendere il controllo dei tuoi file per il riscatto. Invece di dover sborsare denaro a qualche sconosciuto che potrebbe o meno restituire il tuo sito o i tuoi file, sei molto meno vulnerabile se ne hai una copia.

File eliminati / Comandi errati / Errori umani

Qualcosa di semplice come eliminare il file errato sul tuo server, sia con un semplice “clic / elimina” su Windows / Mac, o una riga di comando in Linux o suoi derivati ​​potrebbe cancellare un file chiave o, per tale motivo, tutti i file (in Linux , il comando rm -r diretoryname rimuove una directory e tutti i file in essa contenuti, spesso senza alcuna conferma, peggio ancora, rm -rf / può eliminare anche i file di sola lettura e tutto dalla radice, che essenzialmente ucciderà l’intera macchina! ).

Trucchi

Il comportamento dannoso è più comune di quanto vorremmo. A volte non è nemmeno semplice come un malware o un hack di tipo ransomware; ci sono molti là fuori che hackerano siti Web come sport. Anche se il contenuto del tuo sito Web è qualcosa che potresti non pensare sia di grande valore per un hacker, ciò può ancora accadere. Questo è particolarmente un rischio per coloro che usano piattaforme popolari come WordPress, che hanno molti punti deboli ben documentati che, se non patchati, ti lasciano un grosso bersaglio sulla schiena.

Cattivo sviluppatore / dipendente / chiunque

Molte aziende fanno affidamento su terzi per progettare i nostri siti. Nella maggior parte dei casi, gli sviluppatori Web sono onesti come il resto di noi. La maggior parte (come la tua davvero) sono persone fantastiche e oneste (e modeste!). Tuttavia, forse ti trovi in ​​una disputa di pagamento? Le persone come persone variano ampiamente quando si tratta di ciò che considerano un comportamento etico. È molto facile per un dipendente arrabbiato (o malvagio) che ha accesso al back-end del tuo sito Web semplicemente smantellare il sito se non è felice o per qualsiasi motivo. Questo è qualcosa a cui non ci piace pensare, ma è generalmente una buona idea essere al sicuro.

Arresti anomali del server

La tecnologia è eccezionale quando funziona. Nella maggior parte dei casi, soprattutto se si utilizza una società di hosting solida e affidabile, si verificano raramente arresti anomali del server in cui i dati vengono cancellati. Ma anche i migliori fornitori hanno problemi. Inoltre, in molti casi in questi giorni, il tuo sito è probabilmente ospitato su un server virtuale. In altre parole, i tuoi dati non si trovano su un computer fisico indipendente, ma sono condivisi con molte altre persone o aziende. È molto comune per i provider di hosting ospitare molte diverse istanze “virtuali” su un server fisico.

Per la maggior parte delle società di hosting, questo è più comune che no, e a meno che tu non sia disposto a sborsare i grandi soldi per ottenere il tuo server fisico, è molto probabile che tu stia condividendo spazio. Se qualcosa va storto su un altro segmento, potrebbe influire sul tuo sito e sui tuoi file.

Inoltre, anche se hai ospitato il tuo sito su un server fisico, lo è essenzialmente ancora solo un computer. Mentre i server tendono ad essere archiviati in luoghi sicuri, proprio come con il tuo computer, c’è sempre la possibilità che qualcosa possa andare storto. I server possono surriscaldarsi, potrebbe verificarsi un disastro naturale imprevisto, una fluttuazione di potenza esattamente nel momento sbagliato o persino un difetto nascosto del produttore che potrebbe causare la perdita dei dati. Inoltre, le server farm possono essere un obiettivo per attacchi DDOS (Dedicated Denial of Service) coordinati che in casi estremi possono richiedere un riavvio completo; ciò comporta sempre il rischio potenziale di perdere alcuni o tutti i dati.

Per questi motivi, è generalmente una buona idea conservare una copia di tutti i dati cruciali in un altro posto, quindi se uno di questi è possibile, non importa quanto improbabile (che varia da caso a caso).

Cosa fare il backup?

I tipi di cose di cui potresti voler eseguire il backup possono essere suddivisi nelle seguenti categorie:

File

Questi sono tutti i file che compongono il tuo sito web. Includono tutte le pagine / script / file CSS e immagini o documenti o qualsiasi contenuto multimediale che costituisce la parte principale del tuo sito Web. Puoi pensare a questi contenuti che non cambiano; rimangono come oggetti statici. Di conseguenza, sono in genere le parti più semplici del tuo sito da gestire ed eseguire il backup.

Banca dati

Come è probabilmente il caso, la maggior parte dei siti Web utilizza database per archiviare prodotti, singole pagine o altri elementi che possono essere variazioni di contenuto duplicato. Se il tuo database è in qualche modo statico (cioè la maggior parte degli elementi sul tuo sito cambia raramente) è relativamente semplice mantenere il backup, proprio come i file. Tuttavia, se, come nella maggior parte dei casi, questo contenuto è fluido, come post di blog, prodotti, transazioni o qualsiasi altra cosa che cambi o venga aggiunta in modo regolare, sarà necessario trovare un modo per eseguire regolarmente il backup di questi dati.

Account email

Se stai memorizzando un registro delle e-mail o delle informazioni di contatto degli utenti. Probabilmente hai anche un server e-mail completo e i record di tutte le tue transazioni e-mail tramite il tuo host. Probabilmente vorrai conservare tutti i registri delle tue interazioni, e-mail e mailing list utilizzando questo account.

NOTA VELOCE: Se stai memorizzando le informazioni di contatto in un database diverso dal tuo server di posta, dovrai anche eseguirne il backup!

Come eseguire il backup?

Il backup del tuo sito non è particolarmente difficile, ma per iniziare, è necessario capire che esistono diversi metodi. Variano per qualità, affidabilità e facilità (a seconda del livello di abilità). In genere è una buona idea usarne più di una.

1. Tramite il tuo host web

Qualsiasi buon host web dovrebbe creare un backup automatico di tutti i file sul server web. L’host web dovrebbe farlo internamente e in genere eseguirà backup giornalieri indipendentemente da ciò che fai. Quindi dovresti essere in grado di ricorrere al backup del tuo host web se dovesse succedere qualcosa. Tuttavia, gli host Web in genere non mantengono più versioni di backup e sei alla loro mercé. Avranno una sorta di strumento per creare manualmente i propri backup. Ad esempio, puoi facilmente creare un backup completo del tuo sito Web tramite cPanel, un pannello di controllo comune utilizzato dalla maggior parte degli host web.

Backup manuali del sito Web tramite cPanelNon tutti i server utilizzano cPanel, ma in genere offrono uno strumento di backup di tipo simile a pagamento.

Per utilizzare gli strumenti di backup del tuo server, dovrai chiedere al tuo provider e leggere tutti i manuali che hanno fornito. In genere i file verranno archiviati come file zippati e verranno archiviati sul server. Potrebbe essere necessario specificare quale tipo di formato desideri, a seconda della piattaforma. Forniranno inoltre istruzioni su come ripristinare un backup se diventa necessario.

backup dei file del server webSe il tuo host web fornisce questa copia di backup sul server, assicurati che sia memorizzata su un server diverso rispetto al tuo sito web. I server possono arrestarsi in modo anomalo!

I vantaggi dell’utilizzo dei servizi del tuo provider sono abbastanza evidenti; è in genere senza soluzione di continuità con il tuo host.

Tuttavia, gli svantaggi hanno specificamente a che fare con il tuo provider di hosting. Sebbene possano essere eccellenti nell’ospitare il tuo sito, non è mai saggio tenere tutte le uova nello stesso paniere. Se qualcosa va storto, ad esempio c’è un incendio nella loro server farm, o subiscono una sorta di attacco da parte degli hacker (sì, questo si verifica in alcune occasioni; nessuno è immune e i provider di hosting sono i primi obiettivi).

Per questi e altri motivi, è una buona idea scaricare occasionalmente una copia dei file sul computer. Probabilmente vorrai comunque conservare manualmente almeno una copia del tuo sito.

2. Plugin CMS

Se usi un CMS popolare, come WordPress, ci sono molti plugin che puoi installare, come Backup Buddy. Questi sono molto convenienti e tendono ad essere molto facili da installare.

Tuttavia, i plug-in di backup possono in genere avere l’effetto negativo di rallentare il sito. Poiché PHP è il linguaggio di programmazione nativo per WordPress, anche la maggior parte dei plugin utilizza PHP. Sebbene ciò possa essere efficace, può tendere a funzionare lentamente, il che significa che potrebbero rallentare il tuo sito nel processo di esecuzione (in genere scapperanno dallo stesso motore che sta producendo il tuo sito), ma aggiungono anche disordine al tuo sito, ed è anche un’astrazione di livello superiore a quella ideale.

Un altro fattore è che potresti, ironicamente, rendere il tuo sito più vulnerabile. PHP stesso ha alcuni problemi di sicurezza noti, soprattutto se il codice utilizzato è obsoleto o scritto in modo sciatto. A meno che tu non sia assolutamente certo del codice che entra in questi plugin (e seriamente, chi ha tempo di analizzare il codice sorgente di qualcun altro?), Il plugin che stai usando per mantenere i tuoi dati al sicuro potrebbe renderlo meno sicuro. (Sì, molti sono affidabili e forniscono un codice di qualità. Non vorrei andare nel panico qui, ma questo è qualcosa da tenere a mente).

Mentre PHP è un ottimo linguaggio di programmazione (è tra i miei preferiti e lo uso quotidianamente), è una buona idea mantenere tante funzionalità in esecuzione al di fuori di questa piattaforma. In genere, se si desidera eseguire backup a livello di sistema operativo. Se stai eseguendo Linux o uno dei suoi derivati, probabilmente vorrai eseguire uno script di shell o un file batch in Windows o un file macos su un Mac.

3. Backup manuali

Molti di noi potrebbero avere familiarità con il modo “vecchia scuola” di eseguire il backup dei file: fare una copia di tutti i file e metterli su un disco rigido rimovibile o archiviarli nel cloud. Questo è essenzialmente lo stesso metodo che utilizzeresti con il tuo sito Web, con alcuni avvertimenti.

Naturalmente, se sviluppi il tuo sito web localmente e poi lo trasferisci via FTP (o, si spera, SFTP) al tuo host, tecnicamente hai già una copia del tuo sito. Tuttavia c’è una differenza chiave. Se hai un database sul tuo sito, molto probabilmente hai contenuti diversi localmente (nel tuo database di test) rispetto al sito live. Ciò è particolarmente vero se si utilizza una sorta di software CMS (WordPress e simili). In questo caso, quasi tutto il contenuto del tuo sito viene archiviato in un database e non risiede in alcun file, al di fuori del database stesso.

Il backup del database è in realtà relativamente semplice, in particolare se si utilizza MySQL. Hai semplicemente bisogno di ottenere un dump SQL del database; quale solo un semplice file di testo che contiene tutto il contenuto del tuo database. Una volta creato, può essere semplicemente caricato o eseguito come file per ricostruire il database.

Metodo da riga di comando

Questo è relativamente semplice. Il seguente comando eseguirà il backup di un intero database.

$ mysqldump -u [uname] -p [pass] nome_db > db_backup.sql
Seleziona il codice

Se vuoi maggiori dettagli sull’esecuzione di questi e le varie opzioni, dai un’occhiata a Documentazione MySQL

Metodo PhpMyAdmin

Vai alla scheda di esportazione del database, scegli tutte le opzioni di cui hai bisogno (in genere probabilmente vorrai includere “drop tables” e creare opzioni di database per rendere possibile il caricamento di una nuova copia su una versione precedente, ma il compratore sta attento … cancellare veramente i dati esistenti per sostituirli con una nuova copia).

Puoi quindi prendere tutti i file creati (il codice sorgente, il database e le immagini) e comprimerli e conservare le copie dove preferisci (personalmente mi piace usare l’archiviazione cloud come Google Drive o Dropbox).

L’ovvio inconveniente è che devi ricordarti di farlo ed è molto facile da dimenticare. Quindi, se vuoi fare un ulteriore passo avanti, puoi scrivere script che fanno tutto questo e usare il sistema per eseguirli su base periodica. In Linux è relativamente semplice eseguire il dump sql dalla riga di comando e quindi eseguire questo script come cronjob, da eseguire una volta al giorno, alla settimana o in qualunque periodo di tempo ti piaccia. In Windows è possibile utilizzare un batch e l’utilità di pianificazione integrata. Il mio modo tipico di farlo è quello di eseguire un batch con un dump sql e quindi una copia bulk di un’intera directory sul mio account Dropbox.

NOTA VELOCE: Ti consigliamo di pulire periodicamente la directory in cui sono memorizzati; mentre i file sql, che sono file di testo, tendono ad essere di piccole dimensioni, possono accumularsi nel tempo e se si eseguono altri backup di immagini o file multimediali, è possibile scoprire che il disco rigido / server esplode rapidamente.

4. Servizi di backup

Naturalmente, gestire tutto ciò manualmente può sembrare un po ‘opprimente; richiede ancora attenzione e qualcosa di semplice come dimenticare di ripulire una directory può causare la caduta di file o l’aggiunta improvvisa di tasse al tuo account (Dropbox consente alcuni concerti gratis, ma poi sale rapidamente da lì).

Per questo motivo, se stai gestendo un sito aziendale, è probabilmente una buona idea utilizzare un servizio di backup professionale. In genere questi faranno tutto quanto menzionato in precedenza, ma in modo più affidabile. A differenza dei backup manuali, qualcun altro farà il lavoro per te e si prenderà cura di tutti quei piccoli problemi che potresti incontrare. A differenza dei plugin, funzioneranno al di fuori del tuo sito; non è necessario aggiungerli. Non dovrebbero eliminare la velocità di elaborazione e non creeranno vulnerabilità di sicurezza mentre lo fanno.

Di seguito è riportato un breve campionario di alcuni servizi di backup popolari. (Dichiarazione di non responsabilità: non si intende nemmeno una guida completa da remoto, quanto basta per capire cosa c’è là fuori. Non ho testato tutti i servizi citati).

Best practice per la creazione di una strategia di backup

Indipendentemente dal metodo scelto, il backup del sito Web deve disporre di un piano di flusso di lavoro. Mentre tutti i metodi sopra menzionati funzioneranno, dovrai assolutamente avere una strategia in atto, o qualsiasi sistema menzionato che hai potrebbe presentare alcune gravi vulnerabilità. Crea un elenco di controllo e determina le risposte alle seguenti categorie

Con quale frequenza eseguire il backup?

Questo è importante. Vuoi eseguire backup quotidianamente o mensilmente? Potresti considerare l’idea di eseguirne uno ogni volta che c’è una modifica al tuo sito (nuovo prodotto, nuovo post sul blog, ecc.). Dipende da te, ma dovresti assicurarti di avere un piano in atto.

Pianificazione automatizzata

Seguendo quanto sopra, l’impostazione di un programma è la chiave. Come base, probabilmente vorrai impostare una pianificazione per quando si verificheranno i backup.

Usa memoria remota

Dove stai memorizzando questi dati? Non vorrai semplicemente conservare copie sul tuo server o sul tuo laptop. Utilizzerai un disco rigido esterno? La nuvola? Quale servizio cloud?

Intervallo di conservazione

Per quanto tempo è necessario conservare copie di ciascun backup? Saranno necessari i file di un anno fa o stanno semplicemente raccogliendo polvere e possono essere sostituiti da backup più recenti?

crittografia

La sicurezza dei backup è importante, in particolare se si dispone di informazioni proprietarie (come informazioni riservate sui prezzi dei prodotti o, ancora più importante, record dei clienti). Predisporre un piano per mantenere crittografati i backup & protetto (crittografia della chiave privata AES a 256 bit e sicurezza del trasporto TLS / SSL). Ulteriori informazioni sulla crittografia.

Archivia i backup su array RAID

RAID Arrays (Redundant Arrays of Independent Disks) non sono solo una buona idea per creare più copie del tuo sito Web e / o dati, ma migliorano anche le prestazioni. Forniranno una protezione aggiuntiva in caso di guasto di uno dei dischi. Questa è una caratteristica tipica fornita dai servizi di backup professionali.

Ripristino selettivo

Attuare una procedura nel caso in cui non sia necessario ripristinare ogni parte del sito. Forse la maggior parte va bene, ma alcuni pezzi potrebbero essere andati persi. Ad esempio, se una tabella di prodotto è danneggiata, devi solo sostituire quel pezzo nel tuo dump SQL. In genere, questa è un’idea migliore che cancellare tutto per sostituire un file. In effetti è un errore comune sostituire tutto se qualcosa va storto. Certo, funzionerà, ma perderai tutto ciò che è accaduto dopo l’ultimo backup. È meglio identificare se è necessario sostituire tutto. Salvare i backup completi per l’ultima risorsa se tutto il resto fallisce.

Ripristino del backup

Bene, quindi il tuo sito è scomparso, ma hai un backup. Come ripristini il tuo sito dal backup? Questo relativamente semplice. Se la copia è archiviata come file zip, decomprimila e carica tutti i file nella loro posizione originale. Prendi il file SQL (il file di testo che è stato creato durante il dump SQL) e ricrea il database utilizzando la riga di comando o se usi phpMyAdmin (o qualsiasi altro sistema grafico di gestione del database come MySQL Workbench) e importa il file o copia il tutto in una finestra SQL ed eseguilo.

Provalo localmente e, se tutto funziona, quindi esegui il backup di tutto sul server. Dovresti essere di nuovo attivo e funzionante in pochissimo tempo.

Se si utilizza un servizio di backup professionale, questo processo sarà probabilmente ancora più semplice. Qualsiasi servizio decente dovrebbe fornirti gli strumenti per ripristinare il backup, che si tratti di un ripristino parziale o di un ripristino completo del sito.

Credito extra: messa in scena per lo sviluppo

Oltre al semplice backup dei file esistenti, se stai sviluppando il tuo sito o stai lavorando con un team di sviluppatori, potresti prendere in considerazione un sistema di controllo delle versioni per tenere traccia di tutte le fasi durante il processo di sviluppo. Quando costruisci il tuo sito, in genere ci saranno versioni e modifiche al modo in cui il tuo sito è progettato. Forse stai facendo una riprogettazione completa del tuo sito, ma vorresti conservare una copia del vecchio sito.

Inoltre, come spesso accade, durante lo sviluppo del sito, qualcosa va terribilmente storto e devi trovare un file com’era prima che fosse cambiato. Ti consigliamo inoltre di conservare una versione di sviluppo locale del tuo sito per effettuare aggiornamenti o modifiche prima di lanciarlo pubblicamente.

È qui che entrano in gioco i sistemi di controllo delle versioni. Sono simili alla creazione di copie di cartelle ogni volta che si effettua una modifica, ma sono molto più organizzati e possono consentire lo sviluppo collaborativo.

Idiota è uno strumento fantastico per mantenere ben organizzato il processo di sviluppo. Funziona nella creazione di buoni backup di codice sia a livello locale, sia per essere facilmente spostato avanti e indietro nel cloud per un backup remoto sicuro. Invece di avere più copie di file in diverse directory; sono archiviati in rami, che possono consentire a più persone di lavorare sui file senza altrettanti rischi di conflitti. Quando sono pronti, possono essere uniti nei principali rami di sviluppo e infine in un ramo principale da distribuire.

Di seguito sono riportati due dei repository Git più popolari.

  • GitHub è gratuito se sei disposto a condividere il tuo codice sorgente (è l’Open Source al suo centro), ma offre anche repository di codice privato molto convenienti. È anche un ottimo posto per cercare frammenti di codice e ospita una grande comunità di sviluppatori
  • BitBucket è simile; pur non essendo così grandi di una comunità, offrono gratuitamente alcuni repository privati.

Conclusione

Mentre alcuni metodi presentano vantaggi migliori rispetto ad altri, il backup del tuo sito è una necessità che non deve essere trascurata. Idealmente dovresti prendere in considerazione l’utilizzo di una combinazione dei metodi sopra menzionati. Assicurarti di avere copie duplicate dei file ti farà risparmiare un grosso mal di testa lungo la strada. Anche se al tuo sito non succede nulla di brutto e non ti serve, pensa al sonno extra che non ti preoccuperai. Esegui il backup dei tuoi file sul tuo computer; il tuo sito web dovrebbe seguire le stesse regole.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map