backupDo.php
<?php
# Script to automatically backup MySQL Database
# Authors: FR, radeff@akademia.ch
# Adapted from: http://www.journaldunet.com/developpeur/tutoriel/php/050304-php-dump-mysql.shtml
# History
# Thu, 14 Jun 2007: FR, created
# Copyright (C) GNU GENERAL PUBLIC LICENSE
include_once("../common/dbConnection.pdf.php");
function mysql_structure() {
/*$host = "localhost";
$user = "root";
$pass = "";
$base = "";*/
$serveur= $_SERVER["HTTP_HOST"];
if($serveur=="localhost") { //serveur de développement
$dbUsername = "";
$dbPassword = "";
$dbHostname = "localhost";
$dbName = "";
} elseif ($serveur==""){ //serveur de prod
$dbUsername = "";
$dbPassword = "";
$dbHostname = "localhost";
$dbName = "";
} elseif ($serveur==""){ //serveur de backups
$dbUsername = "";
$dbPassword = "";
$dbHostname = "localhost";
$dbName = "";
}
$host = $dbHostname;
$user = $dbUsername;
$pass = $dbPassword;
$base = $dbName;
#echo "mysql_connect($host, $user, $pass,$base)";
mysql_connect($host, $user, $pass);
mysql_select_db($base);
$tables = mysql_list_tables($base);
while ($donnees = mysql_fetch_array($tables))
{
$table = $donnees[0];
$res = mysql_query("SHOW CREATE TABLE $table");
if ($res)
{
$insertions = "";
$tableau = mysql_fetch_array($res);
/*echo "<pre>";
echo "DROP TABLE IF EXISTS `" .$tableau[0] ."`";
echo $tableau[1];
echo "<pre>";
exit; */
$tableau[1] = "
DROP TABLE IF EXISTS `" .$tableau[0] ."`;\r" .$tableau[1].";";
$dumpsql[] = str_replace("\n", "", $tableau[1]);
$req_table = mysql_query("SELECT * FROM $table");
$nbr_champs = mysql_num_fields($req_table);
while ($ligne = mysql_fetch_array($req_table))
{
$insertions .= "INSERT INTO $table VALUES(";
for ($i=0; $i<=$nbr_champs-1; $i++)
{
$insertions .= "'" . mysql_real_escape_string($ligne[$i]) . "', ";
}
$insertions = substr($insertions, 0, -2);
$insertions .= ");\n";
}
if ($insertions != "")
{
$dumpsql[] = $insertions;
}
}
}
return "USE " .$base .";
" .implode("\r", $dumpsql);
}
#echo "Taille du fichier: ";
$content=mysql_structure();
$content="
## Script to automatically backup MySQL Database
# Authors: FR, radeff@akademia.ch
# Adapted from: http://www.journaldunet.com/developpeur/tutoriel/php/050304-php-dump-mysql.shtml
# History
# Thu, 14 Jun 2007: FR, created
# Copyright (C) GNU GENERAL PUBLIC LICENSE
# to restore the content of the file:
# use phpMyAdmin
# OR command-line: mysql -u user -ppassword <" .$base .date("Ymd-His").".sql"
."
##############################################################################
" .$content;
echo "<pre>" .$content ."</pre>";
#echo "" .$content ."";
/*if ($serveur==""){ //serveur de backups
$backup=mysql_query($content);
}*/
#echo file_put_contents("../backups/sqldump".$base."-".date("Ymd-His").".sql", $content);
#echo "<br><a href=\"../backups/sqldump".$base."-".date("Ymd-His").".sql" ."\">Voir le fichier</a>";
?>