#1 (permalink)  
Alt 11.01.2006, 09:04
 
Registriert seit: 04.10.2004
Beiträge: 269
Standard

Da die Datenbanksicherung mit PHPmyAdmin vergleichsweise lange dauert, und deshalb gerne von der Laufzeit?berwachung der Shared Hoster abgebrochen wird, habe ich mir ein Script entwickelt, dass die Sicherung ?ber das MySQL-Tool mysqldump vornimmt, was wesentlich schneller ist.

Danach wird der Dump mit gzip gezipped, und auch gleich zum Download angeboten.

Das Script setzt voraus, dass im Root-Verzeichnis das Unterverzeichnis DB_backup existiert.

Diese Verzeichnis muss unbedingt ?ber Username/Passwort gesichert werden, damit es niemand sonst ausf?hren kann.

Das Script wurde f?r die 1&1-Plattform entwickelt, sollte aber auf allen (UNIX-basierten?) Servern funktionieren.

================================================== ==============

DB_backup/db_save.php

Code:
<?php
 // Bitte hier Ihre Daten eintragen
 $host= 'dbxx.puretec.de';
 $user= 'dbxxxxxx';
 $pass= 'xxxxxxxx';
 $db=  'dbxxxxxxx';


$subdir = "DB_backup";
$path = getenv('DOCUMENT_ROOT')."/".$subdir;
$name = "dumpDB.sql.gz";
// Befehl ausf?hren und in Zipfile speichern

$command = sprintf(
  'mysqldump --opt -h%s -u%s -p%s %s | gzip > %s/' . $name,
  $host,
  $user,
  $pass,
  $db,
  $path
  );

system($command);   	//Execute dump	

define('OFFER_DOWNLOAD', true);  //Offer download after dump
//define('OFFER_DOWNLOAD', false); 	//Do not offer download after dump

if(OFFER_DOWNLOAD)
{
	if($file = fopen($path, 'rb'))
	{

 header("Cache-Control: no-cache, must-revalidate");
 header("Pragma: no-cache");
 header("Content-Type: application/octet-stream");
 header("Content-Length: " .(string)(filesize($path)) );
 header('Content-Disposition: attachment; filename="'.$name.'"');
 header("Content-Transfer-Encoding: binary\n");
 if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE"))	//Special treatment for MS IE
 {
 	header("Location: ".$name);   // Just point to file as new URL
 }
 else
 {
 	$path .= "/".$name;
 	while( (!feof($file)) && (connection_status()==0) ){
  print(fread($file, 1024*8));
  flush();
 	}
 	fclose($file);
 }
	}
	else
	{
 die("Datei '" . $path . "' kann nicht ge?ffnet werden!");
	}
}?>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 11.01.2006, 12:23
Erfahrener Benutzer
 
Registriert seit: 04.04.2004
Beiträge: 211
Standard

W?re ja sch?n wenn das im Supportbereich angebotene Migrationsscript auch mit der aktuellen Version funktionieren w?rde aber leider versteht MySql die Datens?tze nicht.
Jetzt bin ich Sponsor und genauso weit wie vorher. H?tte ich mir denken k?nnen.
Auch die VPN Angabe wurde lediglich f?r product_info Seite gedacht. Der VPN Preis sollte aber an jeder Stelle sein wo mit einem Preis geworben wird.
Und bevor ich mich auf Auslegungen verschiedener Richter einlasse setze ich xt nicht ein.
Solange sollte man noch warten bis entsprechende ?nderungen erfolgt sind. Dann sind die vielen Erweiterungen sofern diese nicht auch fehlerhaft bzw. unzureichend sind sicher eine gute Wahl. Meine Meinung.
Ich benutze ein einfacheres php script welches lediglich ein backup direkt von server einspielt oder anlegt. Ist nur 1 Zeile.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
datenbanksicherung, mysqldump

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand