Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Automatizzare i Backup di MySQL con PHP :: Indice Php

Automatizzare i Backup di MySQL con PHP

Categoria: Php Inserito il: 14-05-2007 Stampa (22778 click)

In questo tutorial presenteremo uno script che permette di eseguire giornalmente il backup di un database MySQL; l'applicazione non fà altro che connettersi al DBMS, copiare il database interessato dall'operazione, creare il file ".sql" contenente il salvataggio e datarlo al giorno del backup.
Inoltre, verrà mandata al proprietario del sito internet una mail contenente tutte le informazioni riguardanti il completamento del salvataggio: esito dell'esesecuzione, percorso in cui è stato salvato il file ".sql", tempo di esecuzione etc.

Di seguito riportiamo il codice del nostro scriptino:

<?php
$email = "tuamail@tuosito.it";
$host="localhost"; 
$user="utente"; 
$password="password";
$database="archivio";
 
$bk = "/percorso/backup" . date("d") . ".sql";

if ( file_exists($bk) ) unlink($bk);
system(
"mysqldump --user=$user --password=$password --host=$host $database > $bk",$res
);
$dimensione = filesize($bk);
switch ($dimensione) {
case ($dimensione>=1048576): 
$dimensione = round($dimensione/1048576) . " MB"; break;
case ($dimensione>=1024): 
$dimensione = round($dimensione/1024) . " KB"; 
break;
default: $dimensione = $dimensione . " bytes"; break;
}

$testo = "Backup per il database " . $database . " eseguito.\n\n";
$testo .= "Sql: " . $res . "\n\n";
$testo .= "Percorso: " . $bk . "\n\n";
$testo .= "Dimensione: " . $dimensione . "\n\n";
$testo .= "Tempo di esecuzione: " . date(" F d h:ia") . "\n\n";
mail($email, "Database Backup" , $testo, "From: Website <>"); 
?> 
L'applicazione si basa su un commando CLI (command line interface), system(),che permette di eseguire istruzioni da linea di comeando tramite codice come se fossero laciate da Shell:
system(
"mysqldump --user=$user --password=$password --host=$host $database > $bk",$res
);

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pił importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Introduzione al Servlet Engine Tomcat
Anche se Internet si è diffusa presso il grande pubblico da poco piĆ¹ di dieci anni, esiste ormai da oltre... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti