Come eseguire il backup del sito Web tramite la riga di comando SSH

Come eseguire il backup del sito Web tramite la riga di comando SSH / Wordpress e sviluppo Web

Eseguire il backup del tuo sito web o blog può essere un compito costoso e arduo, che richiede una varietà di plug-in o piani aggiuntivi dal tuo provider di hosting, ma non è necessario. Se hai accesso SSH al tuo host del sito web (in genere avresti bisogno almeno di un server privato virtuale Le varie forme di hosting del sito web spiegate [Tecnologia spiegata] Le varie forme di hosting del sito web spiegate [Tecnologia spiegata] Ulteriori informazioni per questo), quindi è facile backup, ripristino e migrazione dell'intero sito Web con pochi comandi. Lascia che ti mostri come.

Che cos'è la riga di comando SSH?

SSH ti dà la possibilità di parlare direttamente al tuo web-server. Non fornisce un'interfaccia carina, o una bella interfaccia grafica, ma solo una linea di comando potente e diretta. Questo può essere scoraggiante per alcune persone, ma la pura potenza, velocità e livello di automazione che fornisce può essere un assoluto risparmio di vita e rende il processo di migrazione dei siti incredibilmente facile.

La maggior parte degli host condivisi purtroppo non consente l'accesso SSH al tuo account, almeno non di default. Se stai ospitando con GoDaddy, puoi attivarlo, quindi assicurati di controllare prima.

Per accedere tramite SSH, aprire il Terminale in OS X (o ottenere un software SSH gratuito per Windows Che cos'è SSH e come è diverso dall'FTP [Tecnologia spiegata] Che cos'è SSH e come è diverso dall'FTP [Spiegazione della tecnologia] Ulteriori informazioni ) e digitare quanto segue:

ssh [email protected]

Ti verrà richiesta la tua password. Se non hai mai usato SSH in precedenza, potresti essere sorpreso quando digiti la tua password non sullo schermo. Non preoccuparti, questo è per la sicurezza.

Una volta effettuato l'accesso, verrà visualizzato un prompt dei comandi simile al seguente:

-bash-3.2 $

Ciò significa che tutto va bene, quindi vai avanti e continua con questi comandi.

Inizia dando un'occhiata in giro e cercando di navigare nella tua directory web. Genere:

ls

Per "elencare" i file e le cartelle correnti.

cd directoryname

per cambiare in una directory. In questo caso, andrò alla directory httpdocs, che è la radice del mio sito web (dove sono memorizzati tutti i miei file wordpress). Puoi quindi 'ls' di nuovo, solo per essere sicuro.

A questo punto, siamo pronti per iniziare il processo di backup SSH.

Backup del database:

Dato che i lettori di maggioranza faranno questo con un'installazione di WordPress, avrai sicuramente un database di backup oltre a tutti i file memorizzati sul sito. Prima di tutto, avrai bisogno di 3 bit di informazioni per fare il backup del tuo database, ma tutto può essere trovato in wp-config.php (se stai usando wordpress, cioè):

  • Nome del database
  • Utente del database
  • Password del database

Quindi, emetti questo semplice comando, assicurandosi di sostituire il nome utente, il nome della tabella e il nome file di backup dove necessario:

mysqldump --add-drop-table -u username -p tablename> backupfilename.sql

Premi Invio e inserisci la tua password. Una volta eseguito, è possibile emettere un altro comando 'ls' per verificare che il file sia stato emesso. Complimenti, sono tutte le informazioni nel tuo database come un singolo file SQL, pronto per il backup o l'importazione da qualche altra parte.

Nota: ho assunto che il server del database sia in esecuzione sullo stesso server su cui si sta ospitando. Su un host GoDaddy, tuttavia, il database MySQL viene effettivamente memorizzato in remoto su un server separato al quale non si dispone dell'accesso SSH. In casi come questi, dovrai accedere a PHPMyAdmin tramite il pannello di controllo di hosting, ma questo non rientra nell'ambito di questo tutorial.

Backup dei file:

Ora che abbiamo il database memorizzato su un singolo file sul server, possiamo andare avanti e fare il backup sia del file che del tuo sito web in un unico file di backup compresso. Per fare questo, pubblicheremo un semplice comando. Devi solo sostituire yourbackupfilename con qualunque cosa tu voglia chiamare.

tar -vcf yourbackupfilename.tar .

Lascia che lo rompa. Catrame è un formato di compressione linux comune, simile a zip ma più efficiente. -vcf sono semplici alcune opzioni che dicono “crea un nuovo archivio e dimmi cosa stai facendo”. Il prossimo è il nome del file che vogliamo creare, e infine un singolo segno di punto dice di includere tutto. Avremmo potuto scrivere * invece, ma questo avrebbe perso tutti i file nascosti come .htaccess che è essenziale per WordPress.

Questo è tutto. Una volta eseguito, avrai un singolo file .tar composto da ogni file sul tuo sito. A questo punto puoi accedere tramite FTP e scaricarlo, ma lascia che mostri un passaggio finale che ti consenta di ripristinare tutti questi file.

Ripristino di tutto:

Diciamo che il peggio è successo e qualcosa è andato terribilmente storto nel tuo sito. Hai un catrame file di tutto ciò che hai eseguito il backup la scorsa settimana, quindi ora vorresti ripristinarlo. Prima di tutto, accedi tramite FTP e carica il file di backup sul tuo server. Forse li hai archiviati in una directory speciale. In ogni caso, sposta l'ultimo file di backup completo nella radice del tuo sito e inizieremo.

Inizia decomprimendo tutti i file, il contrario di ciò che abbiamo fatto per eseguirne il backup:

tar -vxf yourbackupfilename.tar

Questo sovrascriverà i file esistenti! La differenza cruciale qui è nel -vxf switch, che dice di estrarre i file invece di creare un nuovo backup. Inoltre, questa volta non c'è alcun punto alla fine del comando.

L'ultimo passaggio consiste nel reindirizzare il database a dove era prima. Assicurati di avere un'impostazione del database vuota con la stessa password e il medesimo nome di tabulazione di prima, o dovrai anche modificare le impostazioni di configurazione del tuo sito. Per risucchiare i dati, emetti questo comando:

mysql -u username -p tablename < databasebackupfilename.sql

La prossima settimana: Automatizzare i tuoi backup

Questo è sufficiente per iniziare a fare i backup SSH per ora, poi avanti mostrerò come automatizzare l'attività con un semplice script di shell e un comando CRON. Se si dispone di spazio di archiviazione di Amazon s3 4 Grandi usi per S3 Web Services di Amazon 4 Grandi utilizzi per i servizi Web S3 di Amazon Nonostante Amazon sia più noto per i suoi servizi di vendita al dettaglio, offre una serie di servizi Web per gli sviluppatori e gli utenti domestici che utilizzano Vantaggio dell'esperienza e della scalabilità di Amazon con enormi quantità di ... Leggi di più, ti mostrerò persino come puoi caricare automaticamente i tuoi file di backup su un bucket di storage una volta terminato.

Un ultimo consiglio: quando ho iniziato a usare la riga di comando, questo mi ha davvero impressionato: prova a premere il tasto Tab quando digiti un nome lungo, e se il nome è abbastanza unico tenterà di completare automaticamente il resto del nome file!

Scopri di più su: Backup dei dati, Strumenti per i Webmaster, Wordpress.