Posted by & filed under Linux, PHP, Ubuntu, Web Development.

DMCA.com
Word Press Dropbox Backup 26 04 2012

Nel corso degli anni ho provato tantissimi plugin per wordpress per effettuare dei backup del mio database mysql. Tutti i plugin che ho provato prima o poi smettevano di funzionare o, peggio ancora, non funzionavano proprio.

Ho deciso cosi di escogitare qualcosa per risolvere una volta per tutte il problema.

Vi farò vedere in questo tutorial come effettuare dei backup automatici di un database mysql e come esportarli su dropbox senza muovere un dito ;)

Requisiti

  • Leggere questo mio precedente articolo che spiega come creare un backup tramite terminale
  • Avere un server proprio con accesso ssh con permessi di amministratore
  • Avere un account dropbox (free)
  • Scaricare questo script in bash

Procedimento

La prima cosa da fare è caricare lo script appena scaricato sul proprio server.

Io ho messo lo script nella cartella /home/script/ quindi se decidete di mettere lo script in un’altra cartella aggiustate di conseguenza tutti i riferimenti futuri ad esso.

Date i permessi di esecuzione con il comando:

cd /home/script && chmod +x dropbox_uploader.sh

A questo punto bisogna configurare lo script per accedere al proprio account dropbox. La cosa è molto semplice, infatti basta dare il comando:

./dropbox_uploader.sh

e seguire i semplici passaggi che vi usciranno a schermo.

Create un file chiamato automatic_backup.sh nella cartella /home/script/ e incollate all’interno di esso il seguente codice:

#!/bin/bash

# making the backup
mysqldump -u root --password=mypass blog > backup_$( date +"%d_%m_%Y" ).sql

#uploading the backup to dropbox
/home/script/dropbox_uploader.sh upload backup_$( date +"%d_%m_%Y" ).sql /cronbackup/backup_$( date +"%d_%m_%Y" ).sql

#deleting the backup from local server
rm backup_$( date +"%d_%m_%Y" ).sql

Ovviamente dovete fare alcune modifiche a questo file:

  1. Settate l’username del vostro database dopo il flag -u (nell’esempio root)
  2. Settate la password del vostro database dopo il flag —password= (nell’esempio mypass)
  3. Settate il nome del database che volete backuppare (nell’esempio blog)
  4. Se volete cambiate il nome con cui vengono salvati i backup
  5. Aggiustate la la path al file dropbox_uploader.sh nel caso in cui NON lo abbiate salvato nella directory /home/script/

Abbiamo creato il file che, se eseguito, esegue il backup del database e lo salva su dropbox. Ora non ci resta che fare in modo che tale script venga eseguito ogni giorno.

Per fare ciò diamo nel terminale il comando:

crontab -e

Ed incolliamo alla fine del file il seguente codice:

# esegue lo script per fare il backup del database su dropbox alle 00:00 di ogni giorno.
0 0 * * * /home/script/automatic_backup.sh

Con questo comando il backup verrà eseguito e uploadato ogni giorno alle 00:00 in maniera completamente automatico :D