<?php
// error_reporting(0);
// ### (c) by Protecus.de ########
// ### EINSTELLUNGEN #############
// ###############################
$user = 'root'; // Name
$pass = ''; // Passwort
$database = 'test'; // zu sichernde Datenbank
$path = './backup/'; // Backup Ordner
$number_of_files = '5'; // mehr als x Dateien löschen (Autodelete)
// ###############################
// Updates: http://board.protecus.de/t9581.htm
// checke Backupordnergrösse
function dirsize($dir){
$dirsize=0;
$handle=opendir ($dir);
while (false !== ($file = readdir ($handle))) {
$dirsize+=filesize($dir.$file);
}
closedir($handle);
return $dirsize;
}
// Starte Output
echo '<html>
<head>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<title>MySQL Backup</title>
<style type=\'text/css\'>
<!--
h1 { font-family: verdana, arial;}
body,p,td,a { font-family: verdana, arial; font-size: 8pt;}
//-->
</style>
</head>
<body>
<h1>MySQL Backup</h1>
<b><u>Konfiguration:</u></b>
<br /><b>Sicherung Datenbank:</b> '. $database .'<br />
<b>Auto-Löschen aktiviert:</b> +'.$number_of_files.' Dateien<br />
<b>GZip-Komprimierung:</b> aktiv<br />
<b>Backups gesamt:</b> '.round(dirsize("$path")/(1024*1024),2).' MB<br /><br />
<p><b>Backup wird ausgeführt...</b><br /><br /><span style="color:darkblue; font-weight:bold" id="dspan">|</span></p>
<script type="text/javascript"><!--
function js_dots()
{
dspan.innerText = dspan.innerText + "|";
jstimer = setTimeout("js_dots();", 200);
}
if (document.all)
{
js_dots();
}
//--></script>';
// Backupverzeichnis erstellen, falls noch nicht existient!
if (!is_dir($path)) mkdir($path, 0777);
$dh = opendir($path);
while (false !== ($filename = readdir($dh)))
{
if ($filename != "." && $filename != "..") $files_unlink[] = $filename;
}
@rsort($files_unlink);
if (sizeof($files_unlink) >= $number_of_files)
{
for($n=sizeof($files_unlink)-1; $n>=$number_of_files; $n--)
{
unlink($path.$files_unlink[$n]);
}
}
// Backup erstellen
$datei = date("d\.m\.Y\_H",time())."_Uhr_".date("i",time()); // Dateiname aus Datum und Uhrzeit bilden
$datei .= ".gz";
if (file_exists($datei)) unlink($datei);
$path = str_replace(".", "", $path);
system("/usr/bin/mysqldump -u$user -p$pass -h localhost $database | gzip > ".dirname(__FILE__)."$path/$datei", $fp);
if ($fp==0) $meldung = "Backup erfolgreich!"; else $meldung = "Es ist ein Fehler aufgetreten!";
// und Meldung, dass fertig!
echo '
<script type="text/javascript"><!--
if (document.all)
{
clearTimeout(jstimer);
}
//--></script>
<p>'.$meldung.'</p>
<p><blink><b>Fertig!</b></blink></p>
</html>
</head>';
?>