Fare il backup di un sito e caricarlo su un altro server ftp

29 Dicembre 2011
In alcuni casi, specialmente quando bisogna spostare un sito di grosse dimensioni presso un altro server si può risparmiare tantissimo lavoro utilizzando un semplice script PHP.

Mettiamo il caso di dover trasferire un grosso ecommerce con ad esempio 2GB di file, la procedura standard (a meno che non si abbia accesso root ad entrambi i server) è quella di scaricarsi prima tutti files tramite un normale client ftp, con un attesa in caso di connessione adsl media di almeno 2/3 ore.... ma non finirebbe qui.... ci vorrebbero probabilmente altre 4/5 ore per caricarli poi sul nuovo server.... un disastro.

Grazie allo script in basso sarà possibile effettuare un backup della cartella root del proprio sito (o comunque di qualsiasi percorso si voglia) e di caricarlo direttamente via ftp sul nuovo server.

<?php
#Directory del backup
$dir = '/home/www/account/htdocs';

#Percorso completo del backup compresso
$filename = 'backup' . date("Ymd") . '.tar'; 

$ftp_server = 'ftp.miodominio.xx'; //Server FTP esterno
$ftp_username = 'bottegal'; //Username Server FTP esterno
$ftp_password = 'aG6yjNM67'; //Password FTP server esterno


if(system("tar cvf $filename $dir")){
	
	$cn_id = ftp_connect($ftp_server);

$login_result = ftp_login($cn_id, $ftp_username, $ftp_password);

if (($cn_id) || ($login_result)) {

$upload = ftp_put($cn_id,'backup'.date("Ymd").'.tar',$filename,FTP_BINARY);

    }
	
	
	ftp_close($cn_id);
} 


?>

Una volta caricato il backup sul nuovo server basterà semplicemente scompattarlo per riavere tutti i files al proprio posto, natuarlmente bisognerà fare attenzione a reimpostare i giusti permessi.

Chiaro che per un sito dinamico sarà necessario importare anche un backup del proprio database, questo sarà però argomento per un altro post.
Pubblicato in: PHP
Tags: backup
Tutorials Correlati

Creare copie di backup con cPanel tramite Wizard
Per creare una copia di backup del proprio sito Web, uno dei sistemi pił di...

Lascia un commento
Nome

Email

Codice di verifica
 
© DominiOK, 2011-2024
Tutti i diritti sono riservati | Note Legali | Privacy
powered by GTWeb