PHP - MySQL-Backup-Script

Diskutiere PHP - MySQL-Backup-Script im Programmierung Forum im Bereich Software Forum; Hallo zusammen, wir betreiben und adminstrieren ein phpBB-basiertes Forum. Nun habe ich eine Frage an die Experten unter Euch, die sich mit PHP...
thunderstorm

thunderstorm

Threadstarter
Mitglied seit
04.04.2005
Beiträge
550
Alter
41
Hallo zusammen,

wir betreiben und adminstrieren ein phpBB-basiertes Forum. Nun habe ich eine Frage an die Experten unter Euch, die sich mit PHP und MySQL etwas auskennen. :beten

Ich bin gerade dabei, ein Script zu schreiben, welches im Admin-Bereich des Forums per Mausklick ein Backup einer MySQL-Datenbank durchführt. Ich hab es jetzt soweit hinbekommen, das er mittels MySQLDump ein Backup anlegt und dieses mit gzip komprimiert. Das ist eine schöne Lösung, die auch recht gut funktioniert, vorher hatte ich die Backups mit phpmyadmin vorgenommen, aber muss mich so langsam mit einer anderen Lösung befassen, da die Datenbank stetig wächst.

Zu diesem Script habe ich ein paar Fragen an Euch:

- zum Dump selbst:
Welche Optionen für mysqldump würdet ihr mir empfehlen? Ich möchte gern ein dumpfile haben, welches sich an die phpmyadmin-exports anlehnt.
Ich habe mir die Referenz zu mysqldump mal durchgelesen und die Parameter für die vollständigen und erweiterten Inserts eingesetzt. Welche würdet Ihr noch empfehlen?

- Aufbau des php-File:
Das Script soll über das Admin Control Panel erreichbar sein, wird also im Folder /admin liegen. Als Vorlage wollte ich eines der bereits vorhandenen Original-Scripte von phbBB verwenden. Ist damit sichergestellt, das das Script nicht direkt über die manuelle Eingabe aufgerufen werden kann (z.B. durch Eingabe in Adresszeile des Webbrowsers)? Wie wird das von phpBB gelöst, damit admin-scripts auch nur über das Admin-Panel aufgerufen werden? (ist eine sehr spezielle Frage zu phpBB, wenn jemand auch dazu etwas weiss, würde mich freuen)

- Datensicherheit der Dump-Files:
Ich werde den Dump-Folder mit .htaccess-Dateien versehen. Viele sagen mir, das ist für die Sicherheit ausreichend, das niemand die Dumpfiles herunterladen kann. Wie seht ihr das? Ist das dann sichergestellt?

- Dump-File-Auflistung generieren:
Ich möchte in meinem Script eine Auflistung der bereits vorhandenen Backups erstellen, die man dann auch per Mausklick herunterladen kann. Wie kann man das machen?


Eine ganz andere Frage noch zum Schluß, gibt es bereits vorhandene PHP-Scripte, die ein Backup des gesamten Webspace erstellen können (tar.gz)? Welches würdet ihr mir empfehlen?

Das wars im großen und ganzen erst mal... :pfeifen Viele Fragen - :blink hoffe, ihr könnt mir die eine oder andere beantworten - würd mich echt freuen! :danke
 
tanaka

tanaka

Mitglied seit
10.02.2006
Beiträge
219
hallo,

sorry dass ich erst einmal mit einer gegenfrage antworte, aber:
warum benutzt du nicht die im phpbb vorhandene funktion die datanbank zu backupen?

gruss
tanaka
 
thunderstorm

thunderstorm

Threadstarter
Mitglied seit
04.04.2005
Beiträge
550
Alter
41
Kein Problem, die Frage ist doch auch berechtigt.

Der Grund, weshalb wir die vorhandene Backup-Möglichkeit nicht nutzen, liegt darin, das wir Forum und DB mit vielen neuen Funktionen ausgestattet haben, diese Tabellen wird das Standard-Backup nicht sichern. Dazu hat die DB bereits eine Größe von 4 MB erreicht, wo diese Backup-Lösung letztlich dann scheitert.

ZITATDie Backupfunktion im Administrations-Bereich des phpBBs ist gut, wenn das Forum klein und MOD-frei ist. Ab 0,5 bis 1 MB Datenbankgröße fängt die Funktion jedoch an zu versagen. Wenn MODs eingebaut wurden, die neue Tabellen in die DB einfügen, müssen diese manuell hinzugefügt werden. Ausserdem muss man immer ein funktionsfähiges Forum haben um dort ein Backup zu erstellen oder zurückzuspielen.[/b]
Deshalb die "eigene" Lösung :blush

Wer kann da helfen? :unsure
 
thunderstorm

thunderstorm

Threadstarter
Mitglied seit
04.04.2005
Beiträge
550
Alter
41
Ja, MySQLDumper hab ich mir schon mal angesehen und lokal unter XAMPP getestet. Lokal macht er einen ziemlich "lahmen" Eindruck, ca. 5 Minuten für etwa 4 MB Datenbankgröße, aber ich denke mal das man das nicht anhand des lokalen Tests beurteilen kann. Auf dem Webspace läuft er sicher etwas schneller.

Würde mich trotzdem freuen, wenn der eine oder andere mir ein paar Antworten zu meinen Punkten hätte, da ich das Script für eine sehr schnelle und einfache Lösung halte - die Sicherung wird sofort mit nur einem Mausklick durchgeführt, ohne viel Schnickschnack... das würde mir am besten gefallen.

Außerdem kann ich so noch einiges mehr über PHP und MySQL lernen :blush
 
H

HWFlo

Mitglied seit
04.09.2005
Beiträge
5.271
Alter
31
- Aufbau des php-File:
Schau dir am besten mal das bestehende backupscript
wenn dort niht sin sachen sicherheit zu finden ist wird das wohl an anderer stelle implementiert sein und du kannst die datei ersetzen
anderefalls übernimmst du die sicherheitseinrichtungen einfach in dein script
(schätze mal das das mit sessionids gelöst ist das sollte für den fall auch reichen)

- Datensicherheit der Dump-Files:
htaccess ist sicher genug um die meisten leute fern zu halten
wer wirklich an deine dumps will der wird das auch schaffen egal was du einbaust
das einzige was ich dir sonst raten kann ist zu prüfen ob alle wichtigen daten in der db auch ghashed werden


ich denke mal der mysqldumper ist online nicht schneller
aber das gute ist er kann automatisiert (ohne das jemand klicken muss, das vergisst man zu schnell mal) backups erstellen, einspielen und verwaltet sie sehr komfortabel

jetzt weiss ich nicht wie weit deine kenntnisse in php und mysql sind
aber um die grundlagen aufzufrischen ist www.schattenbaum.net/php/ sehr gut
 
thunderstorm

thunderstorm

Threadstarter
Mitglied seit
04.04.2005
Beiträge
550
Alter
41
Hallo,

danke Dir, das hilft mir schon mal ne ganze Ecke weiter - also waren meine Grundgedanken schon mal nicht ganz so falsch :deal

Meine PHP und MySQL-Kenntnisse würde ich erst mal wirklich auf "Anfänger" einstufen, auch wenn ich mich an dem einen oder anderen kleinen Script schon mal erfolgreich versucht habe, aber da fehlt noch einiges.

Aber ich merke, so nach und nach wird es und es macht auch immer mehr Spaß.

Wäre schön, wenn jemand noch ein paar Antworten auf diese Punkte hier hätte:

ZITAT(marmelade1612 @ 09.05.2006, 11:15) Quoted post
Hallo zusammen,

...

- zum Dump selbst:
Welche Optionen für mysqldump würdet ihr mir empfehlen? Ich möchte gern ein dumpfile haben, welches sich an die phpmyadmin-exports anlehnt.
Ich habe mir die Referenz zu mysqldump mal durchgelesen und die Parameter für die vollständigen und erweiterten Inserts eingesetzt. Welche würdet Ihr noch empfehlen?

...

- Dump-File-Auflistung generieren: (<--- Anm. sowas wie eine Dateiliste in etwa -->)
Ich möchte in meinem Script eine Auflistung der bereits vorhandenen Backups erstellen, die man dann auch per Mausklick herunterladen kann. Wie kann man das machen?

...

Eine ganz andere Frage noch zum Schluß, gibt es bereits vorhandene PHP-Scripte, die ein Backup des gesamten Webspace erstellen können (tar.gz)? Welches würdet ihr mir empfehlen?

...
[/b]
 
O

oglimmer

Mitglied seit
22.04.2006
Beiträge
59
Alter
44
Ich selbst betreue ein paar Webseiten mit und wir haben uns dort schon einige Gedanken über Backups gemacht. Man muss dazu sagen, dass wir auch schon 2 mal einen Plattencrash hatten und daher hat das Backup bei uns einen große Stellenwert.

Wir haben das über "CRON"-Jobs gelöst. D.h. jede Nacht wird die Datenbank gedumpt und alle Webseiten in ein tar.gz gepackt. Dann wird das alles über FTP auf einen Backup-Server geschickt. Diese Backups überschreiben sich im Monatsrythmus, so dass man immer 30 Tage zurück Backups hat.

Weil aber das Sichern von Backups nur die halbe Miete ist, gibt es einen anderen CRON-Job der einmal pro Woche das tagesaktuelle Backup vom Backup-Server holt und automatisch in eine Test-Datenbank und ein Test-Web-Verzeichnis installiert. Da kann man dann immer nachsehen, ob das backup machen und zurückspielen funktioniert.

Die Vorgehensweise hat gewisse technische Anforderungen (Backup-Server, CRON-Jobs) aber für uns hat sie sich sehr bewährt.
 
thunderstorm

thunderstorm

Threadstarter
Mitglied seit
04.04.2005
Beiträge
550
Alter
41
Hallo nochmal,

vielen Dank für Eure Antworten. Ich habe gestern noch ein bisschen an meinem Script "gebastelt", als "Grundgerüst" funktioniert es recht gut, er legt die SQL-Dumps auch korrekt an.

@oglimmer: Ich schließe mich Dir vollkommen an. Cronjobs kann ich leider auf meinem Webspace nicht verwenden, aber es reicht mir im Moment noch, wenn es auf Mausklick durchgeführt wird, das kann ich ja einmal täglich machen.

Welche Parameter würdet Ihr mir eigentlich für den mysqldump-Befehl empfehlen, um ein ordentliches Backup der Datenbank zu erhalten, welches dem Export-Ergebnis von phpmyadmin gleichkommt?

Ich möchte mein Script noch ein wenig erweitern, um gleichzeitig Backups des Webspace durchzuführen.

Könnt Ihr mir eine Empfehlung geben, wie es das mit dem tar-Befehl durchführen sollte?

:danke
 
thunderstorm

thunderstorm

Threadstarter
Mitglied seit
04.04.2005
Beiträge
550
Alter
41
Ich nochmal... :blush

Ich hab gestern das Dump durchgeführt - hat soweit auch alles funktioniert. Um es zu testen, wollte ich das File unter phpmyadmin in XAMPP einlesen - das funktioniert nicht - ich bekomme zig Fehlermeldungen. :O

Kann ich kein mysqldump erzeugen, was "kompatibel" zu phbmyadmin ist?

Das einlesen über die Kommandozeile mit msql funktioniert soweit, er zeigt mir allerdings irgendwelche Fehlermeldungen an und liest das File so eigenartig ein, das unser Forum keine Umlaute mehr hat, sondern nur noch kryptische Zeichen (er liest scheinbar nicht als utf-8 ein).

Irgendwas läuft da gänzlich falsch, oder? :knall
 
Thema:

PHP - MySQL-Backup-Script

PHP - MySQL-Backup-Script - Ähnliche Themen

  • 2008R2: Apache, PHP, MySQL - Update's

    2008R2: Apache, PHP, MySQL - Update's: Moin aus Meißendorf, wie die Überschrift schon vermuten lässt, habe ich erhebliche Probleme, die o.g. Versionen zu aktualisieren; vermutlich sehe...
  • Suche FreeWebhoster mit PHP und MySQL

    Suche FreeWebhoster mit PHP und MySQL: Hallo. Suche FreeWebhoster mit PHP und MySQL. Kann mir jemand helfen? MFG
  • GELÖST SQL-Dump einer Datenbank überraschend klein

    GELÖST SQL-Dump einer Datenbank überraschend klein: :blush Liebe Mituser! Für meine Vorgesetzten habe ich eine Pflegeeinrichtungsdatenbank (Altenheime, Physiotherapeuten etc.) mit MySQL und PHP...
  • GELÖST Ich habe den FIWUS quasi aus dem Netz geschossen

    GELÖST Ich habe den FIWUS quasi aus dem Netz geschossen: Mein Projekt FIWUS (http://freies-in-wort-und-schrift.info) auf Basis von WORDPRESS liegt bei einem Hoster, bei dem ich Speicherplatz gemietet...
  • Problem mit MySql verbindung über PHP

    Problem mit MySql verbindung über PHP: Hallo, ich hoffe das ich das hier richtig gepostet habe, da ich es genau so gut auch in Datenbanken machen kann, aber ich fand das es hier besser...
  • Ähnliche Themen

    • 2008R2: Apache, PHP, MySQL - Update's

      2008R2: Apache, PHP, MySQL - Update's: Moin aus Meißendorf, wie die Überschrift schon vermuten lässt, habe ich erhebliche Probleme, die o.g. Versionen zu aktualisieren; vermutlich sehe...
    • Suche FreeWebhoster mit PHP und MySQL

      Suche FreeWebhoster mit PHP und MySQL: Hallo. Suche FreeWebhoster mit PHP und MySQL. Kann mir jemand helfen? MFG
    • GELÖST SQL-Dump einer Datenbank überraschend klein

      GELÖST SQL-Dump einer Datenbank überraschend klein: :blush Liebe Mituser! Für meine Vorgesetzten habe ich eine Pflegeeinrichtungsdatenbank (Altenheime, Physiotherapeuten etc.) mit MySQL und PHP...
    • GELÖST Ich habe den FIWUS quasi aus dem Netz geschossen

      GELÖST Ich habe den FIWUS quasi aus dem Netz geschossen: Mein Projekt FIWUS (http://freies-in-wort-und-schrift.info) auf Basis von WORDPRESS liegt bei einem Hoster, bei dem ich Speicherplatz gemietet...
    • Problem mit MySql verbindung über PHP

      Problem mit MySql verbindung über PHP: Hallo, ich hoffe das ich das hier richtig gepostet habe, da ich es genau so gut auch in Datenbanken machen kann, aber ich fand das es hier besser...
    Oben