Código PHP:
<?php
$sql_host = "";
$sql_usuario = "";
$sql_pass = "";
$sql_db = "";
$fileNameMySqlDump = "backup";//nombre del fichero sql
$fileNameMySqlDump = date("Y.d.m-H.m.s")."-".$fileNameMySqlDump.".sql";//añado la fecha y la hora al nombre del fichero
$sysOperative = (stristr(PHP_OS, 'WIN')) ? "Windows" : "Linux";//compruebo el sistema operativo del servidor
$db_connect = mysql_connect($sql_host,$sql_usuario,$sql_pass) or die("MySQL dice: ".mysql_error());//conectamos con la base de datos
mysql_select_db($sql_db) or die("MySQL dice: ".mysql_error());//seleccionamos la base de datos
switch ($sysOperative){//creo el selector de sistema operativo
case 'Windows'://servidores mysql montados en maquinas windows
$mySqlDump = "c:\mysql\bin\mysqldump.exe -u $sql_usuario --password=$sql_pass --opt $sql_db > $fileNameMySqlDump.sql";//ejecuto el backup
system($mySqlDump, $resultMySqlDump);
break;
case 'Linux'://servidores mysql montados en maquinas linux
$mySqlDump = "mysqldump -u $sql_usuario --password=$sql_pass --opt $sql_db > $fileNameMySqlDump.sql";//ejecuto el backup
system($mySqlDump, $resultMySqlDump);
break;
default:
echo "Error 7000: Se produjo error por no ser un sistema compatible con Windows - Unix - Linux.";//si el sistema operativo no existe o no esta definido, error
exit;
break;
}//termino switch
if($resultMySqlDump) {
echo "<H1>Error ejecutando comando: $executa</H1>\n";//compruebo errores
}else{
echo "<H1>operacion exitosa: $fileNameMySqlDump</H1>\n";
}
mysql_close($db_connect);//cerramos conexion mysql
?>
un saludo