Backup-Lösung für Homepage (FTP und MySQL)
lima-city → Forum → Die eigene Homepage → Homepage Allgemein
aufnehmen
ausprobieren
code
date
datenbank
erstellen
his
http
knopfdruck
packen
pfad
re
regel
server
sicherung
starten
tabelle
url
zeitstempel
zelle
-
Hallo zusammen,
da wir uns hier ja selber um das Backup kümmern müssen habe ich mal ein wenig nach einer halbwegs automatischen Lösung gesucht und folgendes gefunden:
Als Basis Cobian Backup http://www.educ.umu.se/~cobian/cobianbackup.htm
Hier kann man als Quelle auch einen FTP-Server angeben und das Ergebnis dann nach wunsch ref="/tag/packen">packen und verschlüsseln.
Als Backup ist u.a. Vollbackup und incementelles Backup möglich.
Ein Zeitplaner ist auch mit an Bord.
Um jetzt auch noch die MySQL-Datenbank zu sichern muss man vorher noch ein Datenbank-Dump erstellen. Das geht z.B. mit MySQLDumper. Geade bei kleineren Datenbanken genügt aber ein einfaches Script:
<?php $datenbankhost = “Hostname (in der Regel: localhost)”; $datenbankuser = “Username”; $datenbankpasswort = “Passwort”; $datenbankname = “Datenbankname”; $pfad = $_SERVER['DOCUMENT_ROOT']."/backup/"; $Zeitstempel = date("-Ymd-His"); foreach(glob($pfad.$datenbankname."*.sql.gz") as $fn) { echo "Delete: ".$fn."\n"; unlink($fn); } echo "Backup: ".$datenbankname."\n"; echo "Ziel: ".$pfad.$datenbankname.$Zeitstempel.".sql.gz"."\n"; $connect = @mysql_connect($datenbankhost, $datenbankuser, $datenbankpasswort); if (!$connect) { die(mysql_error()); } mysql_select_db($datenbankname); $f = gzopen($pfad.$datenbankname.$Zeitstempel.".sql.gz", "w9"); $tabellen = mysql_list_tables($datenbankname); while ($zellen = mysql_fetch_array($tabellen)) { $table = $zellen[0]; echo "Tabelle: ".$table."\n"; $res = mysql_query("SHOW CREATE TABLE `$table`"); if ($res) { $create = mysql_fetch_array($res); $create[1] .= ";"; $line = str_replace("\n", "", $create[1]); gzwrite($f, $line."\n"); $data = mysql_query("SELECT * FROM `$table`"); $num = mysql_num_fields($data); while ($row = mysql_fetch_array($data)){ $line = "INSERT INTO `$table` VALUES("; for ($i=1;$i<=$num;$i++) { $line .= "'".mysql_real_escape_string($row[$i-1])."', "; } $line = substr($line,0,-2); gzwrite($f, $line.");\n"); } } } gzclose($f); echo "fertig."."\n"; ?>
Um das vor dem Backup ausführen zu können gibts in Cobian Backup unter "Ereignisse -> vor Sicherung" die Möglichkeit Programme zu starten. Hier kann man jetzt mit Hilfe von WGET das PHP-Script anstossen:
wget www.meineSeite.de/pfad/MeinBackupScript.php -O -
Das "-O -" am Ende sorgt dafür, das keine Ausgabedatei erstellt sondern nur das PHP-Script gestartet wird.
Einmal eingerichtet kann man jetzt beliebeig oft mit einem Knopfdruck einen Komplettsicherung seiner Homepage erstellen.
Gruß,
Thomas -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das sieht sehr gut aus, kann ich ja mal bei mir auf den Home-Server ausprobieren, denn jedesmal rsync laufen lassen finde ich auch nicht so gut und mit dieser Lösung hat man eine PHP variante, sollte man als kleins TUT aufnehmen.
-
vielleicht kann man das ganze ja auch per cronjob starten, wäre einfacher als das per hand zu starten.. und wenn man mal 2 bis 3 wochen nicht da is wird das ja eh nix, folglich -> http://www.cron-job.org/ ist for free, und ganz easy einzurichten.. aber ich glaub das mit packen (zippen) wird nix, das datei format ist doch hier nicht erlaubt!?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage