Mailinglisten-Archive |
> Mit PHPMyAdmin kann man ja die Datenbank Sichern. Ich möchte
> aber nun jeden abend die Datenbank auf Festplatte Schreiben.
> Da ich keine Rootrechte auf den Server habe
> brauche ich ein PHP-Script.
Tag,
letztens erst gebastelt. Viel Spass!
Clemens
PS: Evt muss beim dumpen noch ein --socket=/pfad/zu/mysql.sock angegeben
werden.
PPS: Den Pfad natuerlich anpassen, das funktioniert nur hier lokal.
PPPPS: Verzeichnisrechte ordentlich setzen, sonst kann php nicht schreiben!
<html>
<body>
<?
$self=basename($PHP_SELF);
if ($action=="backup")
{
$backupname="back_".date("d-m-Y-His",time()).".sql";
//dumpen
exec("/usr/bin/mysqldump --user=USER --password=PWD dbname >
/usr/local/httpd/htdocs/backup/".$backupname);
//zippen
system("/usr/bin/zip -9 /usr/local/httpd/htdocs/backup/".$backupname.".zip
/usr/local/httpd/htdocs/backup/".$backupname);
unlink("/usr/local/httpd/htdocs/backup/".$backupname);
echo "<br>Backup erfolgreich angelegt.";
}
echo "<h4> Folgende Backups wurden bereits angelegt</h4>";
echo "Zum lokalen Speichern bitte mit Rechtsklick \"Ziel speichern
unter...\" wählen.";
echo "<br> Der Dateinamen setzt sich aus
'back_Tag-Monat-Jahr-StundeMinuteSekunde' zusammen";
echo "<p>";
$handle=opendir('/usr/local/httpd/htdocs/backup');
while (false!==($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "<a href='./backup/$file' target=_blank>".$file."</a><br>";
}
}
closedir($handle);
?>
<p></p>
<a href="<? echo $self;?>?action=backup">Neues Backup anlegen</a>
</body>
</html>
php::bar PHP Wiki - Listenarchive