Linux

Script per Effettuare un Backup dei Siti Hosting

Se hai diversi siti web in un provider hosting, generalmente ti viene fornito l’accesso FTP, quello HTTP e poco altro. Se hai bisogno che il sito sia recuperabile, ti verrà fornito a pagamento un backup giornaliero.

Supponiamo che tu abbia svariati siti web e non voglia pagare il servizio di backup, allora hai bisogno di un tuo server locale che possa backuppare i tuoi siti web.

Premetto che come servers casalinghi si può utilizzare un mini pc fanless car, perché è minuscolo, si può tenere a casa e consuma veramente pochissimo.

Fornendo il nostro provider dell’accesso FTP, puoi utilizzare un meraviglio tools disponibile sulle migliori distribuzioni Linux che si chiama LFTP.

Quindi procedi nel seguente modo:

  • Installi il server Ubuntu, Debian o Centos o quello che più ti piace, basta che sia base linux;
  • Installi poi il software lftp ( se hai linux basato su Debian puoi digiatare sudo apt-get install lftp )
  • A questo punto scrivi lo script che verrà lanciato dal crontab quando vuoi tu.

Passiamo quindi allo script che è un semplicissimo file mirror.sh:

 

[php]

#!/bin/sh
user=[user_ftp]
pass=[password_ftp]
rhost=[ftp_host]
rdir=[dir_to_backup]
ldir=[local_dir_to_backup]
dateInit=`date ‘+%Y%m%d-%H%M’`
log_file=[local_log_backup]
mirrorcommand="mirror –parallel=3 –verbose –only-newer"

echo "Inizo backup " > $log_file
date >> $log_file

lftp -u $user,$pass -e "$mirrorcommand $rdir $ldir " $rhost >> $log_file

echo "Fine backup " >> $log_file
date >> $log_file

[/php]

Il comando che viene passato a lftp indica di usare la parallelizzazione livello 3, di copiare solo i nuovi files, di generare un log a video.

Per darvi un dato utile con una linea standard ADSL di casa si riesce a fare un backup di circa 1 GB all’ora.