Semplice Backup WordPress via shell SSH su hosting Dreamhost

Senza dubbio, eseguire il backup di tutti i file del vostro blog e soprattutto del database è un operazione di vitale importanza, da eseguire frequentemente nel tempo. Ma utilizzando le potenzialità offerte dal servizio di hosting di Dreamhost, è possibile utilizzare la shell di comando linux direttamente da server, per poter ottimizzare la velocità di esecuzione dei vari backup, vediamo come.

Dreamhost.com Semplice Backup SSH del vostro Blog WordPress

Premesso che Tr3ndy.com è hostato sui server di Dreamhost.com e che dal pannello di controllo ho definito per il mio utente un accesso via SSH, ovvero sono in grado di connettermi via shell, tramite telnet o putty, ed impartire comandi linux direttamente dalla shell del server, velocizzando al massimo le operazioni.

L’archivio del nostro sito tra file e database SQL compresso tar.gz è di circa 22 Mb, la nostra installazione di WordPress conta oltre 2.500 file tra temi, immagini, upload e plugin, immaginate cosa potrebbe essere trasferirli via FTP o addirittura WebFTP, ci vorrebbero molte ore con la certezza di interruzioni di collegamento, resume difficile da ripristinare, ecc.

Sarebbe motlo vantaggioso poter comprimere tutti i file direttamente nel server e scaricare così un unico file compresso via FTP, e così lo stesso per il database MySQL, senza dover utilizzare PHPMyAdmin con i suoi problemi di timeout e di gestione delle dimensioni dei file .sql

Utilizzando i comandi linux cia shell, il problema è risolto: ricordatevi dunque di consentire al vostro utente Dreamhost l’accesso via SSH e seguite queste istruzioni: tasto di Windows Start -> Esegui -> cmd invio. A qiesto punto si apre la classica finestra old style DOS, scrivete telnet www.vostrodominio.est e sarete collegati via telnet al server inserite nome utente e successivamente password.

A questo punto date i seguenti comandi dalla shell: create una directory per i vostri database

mkdir backups

mkdir backups/archivi

ora sul vostro desktop Windows, create un nuovo file di testo e copiate ed incollate i seguenti comandi, che rispettivamente, il primo determina la cartella del dominio da copiare (vedi struttura base cartelle Dreamhost), mentre il secondo determina il database del quale eseguire il backup:

#!/bin/bash
suffix=$(date +%y%m%d)
nice -19 tar -c /home/VOSTROUSER/.snapshot/nightly.0/DOMINIO.EST/ | gzip -c > archives/DOMINIO.EST-$suffix.tar.gz
mysqldump –opt -uUSERDb -pPASSWORDDb -h mysql.DOMINIO.EST NOMEDb | gzip -c > archives/DOMINIODB-$suffix.sql.gz

Dopo aver sostituito i valori in rosso con i vostri dati appropriati, ovvero dominio e database da backuppare, salvate il file di testo con il seguente nome backup.sh, e fate l’upload via FTP direttamente nella cartella backups, precedentemente creata dando attributi:

chmode 755

Ora è necessario eseguire il cosiddetto file di bash, eseguibile direttamente da server via shell, all’interno della directory backups, il seguente comando:

./backup.sh

e dopo pochi minuti, all’interno della cartella archivi, vi troverete 2 file in formato tar.gz facilmente apribili con qualsiasi versione di WinRAR: nel primo saranno contenuti tutti i file compressi del dominio scelto, mentre nel secondo ci sarà il file compresso del database MySQL che avrete deciso di backuppare, pronti per essere scaricati via FTP in men che non si dica.