Archiv verlassen und diese Seite im Standarddesign anzeigen : [TIP] Scripte für Datenbank-Backup und -Restore
Supernature
12.03.2002, 09:11
Mir ist aufgefallen, dass immer wieder Probleme und Fragen zum Thema "Datenbank-Backup" auftauchen.
Ist auch nachvollziehbar, denn die wenigsten Hoster bieten Telnet- oder SSH-Zugang, und phpmyadmin ist nur bedingt zu gebrauchen.
Darum will ich mal erläutern, wie ich das mache, vielleicht hilft es ja dem Einen oder Anderen. Sollte das schon mal dagewesen sein, bitte ich um Nachsicht.
Die Scripte sind nicht von mir, ich möchte mich nicht mit fremden Federn schmücken. Voraussetzung für die Nutzung sind ein Unix-Server mit GZIP-Unterstützung (das dürfte bei 99,9% der Hoster zutreffen). mySQL-Dump muss ebenfalls vom Hoster aktiviert sein.
Und so gehts:
Zuerst auf Eurem Webspace ein Verzeichnis anlegen, in dem die Scripte abgelegt werden und per CHMOD die Rechte auf 777 setzen. Damit keiner unbefugt darauf zugreift, sollte es z.B. mit htaccess geschützt werden.
Beigefügte ZIP-Datei entpacken, dann die db_backup.php3 mit einem Texteditor öffnen und die Variablen ausfüllen, sollte eigentlich selbsterklärend sein, daher nur zwei Hinweise:
Bei "$pfad:" wird der absolute lokale Pfad auf dem Server eingetragen (ohne "/" am Ende) - wenn dieser nicht bekannt ist, die Datei root.php3 in das eben erstellte Verzeichnis laden und im Browser aufrufen.
(ansonsten wird die root.php3 nicht gebraucht).
Bei "$download_url:" wird die normale Web-Url mit "/" am Ende (ohne Dateinamen) eingetragen.
Das Ausfüllen der db_restore.php3 sollte dann kein größeres Problem mehr darstellen.
Nun werden die Dateien db_backup.php3, db_restore.php3 und error.txt in das neu erstelle Verzeichnis hochgeladen. Die Rechte der error.txt müssen noch per CHMOD auf 777 gesetzt werden.
Um die Datenbank zu sichern, muss jetzt nur noch die db_backup.php3 im Browser aufgerufen werden.
Um ein Backup wieder einzuspielen, muss die vorhandene Datei in "backup.sql.gz" umbenannt und anschliessend die db_restore.php3 im Browser aufgerufen werden.
Ich sichere meine mittlerweile 95 MB große Datenbank täglich problemlos und ohne Timeout.
Die Scripte sind sehr einfach gestrickt und geben fast immer eine Erfolgsmeldung, auch im Fehlerfall ;)
Wenn Backup oder Restore in weniger als einer Sekunde durchlaufen, dann ist wohl was schief gegangen. Um das rauszufinden, müsst Ihr ins Error-Logfile schauen, die meisten Hoster gewähren ja Zugriff darauf.
Ich hoffe geholfen zu haben ;)
firelooper
31.03.2002, 21:57
ein riesen Dankeschön an dich! das backuppen funktioniert sehr gut und auch daseinlesen mit den dateien !
firelooper
s.molinari
01.04.2002, 10:05
Hallo Supernatural,
Vielen Dank!. Solche kleine Hilferleien sind immer Willkommen.:D
Ich habe eine Kopie ins Tips und Tricks Forum verschoben und einen Link in unserer Downloadsseite hinzugefügt. Ich hoffe das geht in Ordnung.:)
Scott
Wieso haben so wenige Telnet-Zugriff?
Hmm.. ich hatte bis jetzt 3 verschiedene administriert und bei allen war das standard. Kommt wohl vorallem auf den Hoster an.
http://www.vbulletin-germany.com/forum/showthread.php?s=&threadid=1365
Hier findet ihr noch ein Skript um eure DB "per Browser" zu optimieren.
Supernature
01.04.2002, 17:44
Das optimize-Script verwende ich genauso wie das Backup täglich. Bei den meisten Hostern gibt es in den Standard-Paketen kein Telnet oder SSH.
Obwohl ich es jetzt auf unserem eigenen Server eigentlich nicht mehr bräuchte, werde ich wohl weiterhin das Backup-Script verwenden, weil es einfach schneller geht.
Danke schön :D
so etwas habe ich gesucht denn ich will in den nächsten Tagen auf einen anderen Server umziehen hoffe ich kann dann mit diesem Programmen das mit leichtigkeit machen habe bis jetzt noch nie einen Umzug gemacht.
Da kommen diese Programme und die lehrreiche ausführungen wie gerufen.
Also nochmal schönen Dank!@Supernature
IcEmAn@GeR
11.05.2002, 13:45
Also erstmal Thanx für die Scripte.
Nur habe ich da noch ne blöde Frage zu;) und jetz lacht mich net gleich aus !!
Wie kann ich das mit CHMOD 777 machen oder wo muß ich das machen den wenn ich dein backup script ausführe ist meine datei nur 0kb groß und sonst nix.
Desweitern mußte ich die endungen der Datein in php umbennen kann es dadurch sein das das bei mir net funzt ???
Währe net wenn ihr mir helfen könnte !!!
Rechte ändern kannst Du entweder per Telnet/SSH oder mit einem FTP Programm (meistens Ordner mit rechts anklicken und dann Rechte ändern, Attribute ändern oder CHMOD ändern. je anchdem wie es heisst).
Die Endung php oder php3 sollte keine Rolle spielen, ob das Skript funktioniert oder nicht.
IcEmAn@GeR
11.05.2002, 19:32
Thanx pogo!
Werde ich gleich mal testen.
Original geschrieben von Supernature
Bei "$pfad:" wird der absolute lokale Pfad auf dem Server eingetragen (ohne "/" am Ende) - wenn dieser nicht bekannt ist, die Datei root.php3 in das eben erstellte Verzeichnis laden und im Browser aufrufen.
(ansonsten wird die root.php3 nicht gebraucht).
Bei "$download_url:" wird die normale Web-Url mit "/" am Ende (ohne Dateinamen) eingetragen.
Sorry, da habe ich eine etwas blöde Frage dazu:
Welchen Pfad und welche URL muss man angeben? Die des Scriptes?
Wenn ich das mache, bekomme ich ein Datei mit ca. 7 MB, wobei die Verarbeitung nur wenige Sekunden dauert. Kann das sein bei einer DB von über 330 MB?
Wohl eher nicht, oder?
Ein "Test-Restore" in eine andere DB war jedenfalls erfolglos.
Highlander
02.06.2002, 01:01
also ich versuche es schn seit Tagen und geht nicht..auf meinen Privaten localhost server geht es zwar jedoch sind die daten 0KB gross..
also ich gebe extkt den root Pfad an..ohne / am Ende..dann alle Zuzgangsdaten und die URL: http:meine doamin/backup/ .. aber ich finde keine Datei in dem Verzeichniss noch bekomme ich einen download zustande...die rechte sind 777CHMOD .. was läuft schief .. kann mir jemand helfen ??
Hallo
So habe das jetzt auch mal versucht.
Habe leider auch das Prob, das ich eine viel zu kleine backup.sql.gz.
Diese hat gerade mal um die 1,7 MB lol
Wegem dem Portal kann es nicht sein, oder?
Jemand eine Idee?
Kann mir das jemand schicken,ich hab noch keine vB lizenz (wred mir bald eins holen)
ich bräuchte das script dringend
Original geschrieben von Carsten
Sorry, da habe ich eine etwas blöde Frage dazu:
Welchen Pfad und welche URL muss man angeben? Die des Scriptes?
Wenn ich das mache, bekomme ich ein Datei mit ca. 7 MB, wobei die Verarbeitung nur wenige Sekunden dauert. Kann das sein bei einer DB von über 330 MB?
Wohl eher nicht, oder?
Ein "Test-Restore" in eine andere DB war jedenfalls erfolglos.
Das möchte ich bitte auch gerne wissen.
Und noch folgendes: Ist vbulletin.sql diese backup.sql?
Danke
BigMac
Hi,
bei mir kommt zwar die Meldung
Starte MySQL Dump: ausgeführt!
komprimiere Ausgabe: ausgeführt!
lösche nicht-komprimierte Datei: ausgeführt!
Download File
jedoch wurde nichts erstellt.:(
Woran kann das liegen?
MFG
CMB
s.molinari
03.12.2002, 10:41
Hi CMB,
Wenn du auf einem Shared Server bist ist als Sicherheitsgründen die Funktion exec() wahrscheinlich ausgeschaltet. Falls das dir trifft, musst du entweder mit Telnet oder SSH versuchen. Wenn das nicht geht, dann dein Provider nach einer Sicherung deiner Daten fragen.
Scott
Hi,
Funktion exec() wahrscheinlich ausgeschaltet
ich glaube das hab ich schonmal irgendwo gelesen.
Ich hab gerade gesehen das ich sogar telnet Zugriff habe.
Wie mache ich denn mit telnet ein Backup?
Was ist telnet überhaupt?
Wie bekomme ich das Backup dann wieder auf den Server?
MFG
CMB
[Edit]Ich hab gerade in den FAQ meines Providers folgendes gefunden: Kann ich mit FTP oder Telnet auf die MySQL-Datenbank zugreifen?
Nein, dies ist nicht möglich. Wir empfehlen Ihnen zur Administration Ihrer MySQL-Datenbank das PHP-Script phpMyAdmin.
Wie bekomme ich jetzt ein Backup?
Über phpmyadmin funktioniert es auch nicht.
Wie gross ist das Backup denn?
Was für ein Problem tritt auf?
Ab ca. 2 MB macht phpMyAdmin nämlich häufig Probleme.
Sollte das der Fall sein, musst Du Deinen Host fragen, was er Dir zur Verfügung stellt, damit Du größere Backups wieder einspielen kannst. Lade dann auf jeden Fall Dein Backup auf Deinen Server hoch, damit es der Host im Zweifel für Dich einspielen kann.
Hi,
die gesamte db hat ca 25 mb.
Die einzelnen Tabellen bis ca. 8 mb und von diesen bekomme ich kein Backup über phpmyadmin hin.
Anscheinend liegt es am "time out" des Browsers.
Ich hab jetzt dieses (http://www.sstienemann.de/mysqlfront/index.html) Programm gefunden, jedoch hat das Backup was mir das Programm erstellt ca. 80 mb
obwohl mir phpbb2 (will ein Backup bevor ich umsteige) im Adminbereich nur 25 mb anzeigt.
Kann das sein?
MFG
CMB
phpMyAdmin kann Dir auch die Größe der DB anzeigen. Was sagt das denn?
Hi,
phpmyadmin sagt auch ca. 25 mb.
Woran kann das liegen?
MFG
CMB
Frag unbedingt Deinen Host nach seiner Empfehlung, wie Du Deine DB einfach sichern kannst.
Ich möchte nur mal anmerken, das es meist keine Probs beim erstellen von backup´s großer Datenbanken gibt, sondern das einspielen großer Backup´s macht oft Probleme und das selbst auf eigenen WebServern ! :(
Das Problem liegt dann fast immer an den riesen tabellen wie den Suchindex !
Dabei meine ich nicht die größe in MB, sondern die Millionen einträge !
Deswegen mache ich meine Backup´s immer ohne die Tabellen Suchindex und Word !
Die kann man ja im Fall der fälle neu erstellen lassen vom VBB !
Dann klappt auc das einspielen eines 150 MB backup´s wunderbar :)
bye
Smoker
Hi
Supernature Danke für das Script.
Ich kann damit backup machen ohne Probleme kommt 13MB datei.
Aber ich habe Probleme mit Restore.
Es scheint alles zu Funktionieren kommt Meldung in 2 sekunden
Entpacke Datenbanksicherung: ausgeführt!
spiele Sicherung zurück: ausgeführt!
Es wird nicht zurück gespielt.
Datenbank ist immer noch leer
woran könnte das Legen mysqldump ist vorhanden.
Danke
mfg
cmssys
*edit*
hat sich erledigt.ich habe es hingekriegt. Danke Trotzdem
Original geschrieben von Supernature
Die Scripte sind nicht von mir, ich möchte mich nicht mit fremden Federn schmücken. Voraussetzung für die Nutzung sind ein Unix-Server mit GZIP-Unterstützung (das dürfte bei 99,9% der Hoster zutreffen). mySQL-Dump muss ebenfalls vom Hoster aktiviert sein.
Hallo nochmals
das hat zwar wenig mit VB zutun aber ich möchte gerne Fragen
über Lenkor habe ich ein andere Server geprüft und dort Steht
http://-----.com/ is not gziped.
Ich habe zwar Gzip installiert über Shell oberfläche aber es kommt immer noch dieser Meldung.Ich kann kein DB restore machen.
Wie kann ich dieser Script so bearbeiten das Gzip nicht benützt wird.Weil dann wird es gehen nehme ich an,ich muss beide bearbeiten backup und restore.
Kann mir jemand bitte helfen
Danke
mfg
cYbercOsmOnauT
06.07.2003, 16:35
Original geschrieben von CMB
Ich hab jetzt dieses (http://www.sstienemann.de/mysqlfront/index.html) Programm gefunden, jedoch hat das Backup was mir das Programm erstellt ca. 80 mb
obwohl mir phpbb2 (will ein Backup bevor ich umsteige) im Adminbereich nur 25 mb anzeigt.
Kann das sein?
Da das Script bei mir auch nicht funzt (denke mal ich darf kein exec ausführen und mysqldump ist auch nicht vorhanden) habe ich mir das Tool runtergeladen und installiert.
Es funktioniert gut. Nur ist die erstellte SQL-Datei "leicht" größer als erwartet. Meine Datenbank hat etwa 9MB und die gedumpte SQL hatte fast 14. Kann ich aber mir leben. Hauptsache komfortabel tägliche Dumps durchführen. Danke für den Tip! :)
Hat jemand ein nettes Script wenn ich Telnet Zugang hab das per cronjob die Datenbank in ein Verzeichnis sichert ?
Was mach ich falsch???
Bei mir klappt es nicht... die Datei ist nur ca. 7,5 MB groß, und wenn ich die enpack sagt er Unerwartetes Archivende
12monkeys
26.11.2003, 20:35
Vorweg einmal Gruss an alle!
Ich hab vor einem Monat ein backup erstellt.
aber leider unkomprimiert.
Wie mach ich ich jetzt aus der backup.sql
eine backup.sql.gz datei?
bin für jede Hilfe dankbar.
Also wenn ich das versuche bekomme ich nur eine 0Kb Grosse gz zumsaugen wo liegt der Fehler?? Muss ich was umstellen an meinem Server doch wohl nicht oder?
Ich mache das immer über den Shell zugang.
Einfach folgenden code eingeben und schon packt es das zusammen und das klappt bei mir täglich :)
gzip -c backup.sql > backup.sql.gz
bye
Smoker
Hi Danke ja aber es muss doch mit dem Skript gehen ich Frage mich nur warum ich immer 0Kb Files habe
Highlander
04.06.2004, 20:03
sind die anhänge weg?
Hmm ohne anhänge wenig zu machen. Hatt sie noch jemand?
Danke
sind die anhänge weg?
Hab sie wieder hinzugefügt.
Highlander
07.06.2004, 07:38
Vielen Dank :d
ich habe noch eine Frage .. gewrade wgeen restores von einer DB (420MB) .. ich habe leider lange gesucht im Forum hier und nichts dazu gefunden.. denn per SSH gibt es doch die Möglichkeit z.B. eine vorher hochgeladene SQL Datei per SSH wieder an einem Stück (400MB) einzubinden .. und nicht umständlich per PHPMyAdmin in 2MB stücken.
Natürlich werde ich das script ausprobieren, abe rich habe gehört per SSH soll es richtig schnell gehen ohne irgendwelche scripte.. , aber den befehl konnte ich nirgends in google ode rin diokumentationen entdecken, da ich auch nicht genau den suchbegriff kenne :D
gruss
Highlander
www.spieleplanet.com
Gandalf2003
07.06.2004, 08:48
dann schau dich mal im bereich serverwartung um, oder nutze die SuFu:)
Moin,
ich habe ein kleines Problem :(
Also wenn ich root.php aufrufe, bekomme ich das zu sehen // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // $$ Wenn der absolute Pfad der eigenen Homepage $$ // $$ nicht bekannt ist, kann er mit diesem kleinen $$ // $$ Script ermittelt werde $$ // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
wenn ich ein backup mache, ist die datei 0k groß. Also gehe ich mal davon aus, dass der pfad nicht stimmt. Kann mir jemand sagen was mit pfad gemeind ist?
Danke
Gruß
Black
abe rich habe gehört per SSH soll es richtig schnell gehen ohne irgendwelche scripte.. , aber den befehl konnte ich nirgends in google ode rin diokumentationen entdecken, da ich auch nicht genau den suchbegriff kenne :D
http://www.vbulletin-germany.com/forum/showthread.php?t=2332
Moin,
ich habe ein kleines Problem :(
Also wenn ich root.php aufrufe, bekomme ich das zu sehen Probiere es mal mit der Datei im Anhang.
@Mystics
danke es geht jetzt :D
so, das script hat zwar die .gz entpackt aber mehr nicht... jetzt is da im ordner ne entpackte .sql aber keine .gz mehr :)
und in der datenbank ist nichts, als dauert das restore nur etwas länger oder wie oda wat*g?
MrZeropage
12.09.2004, 10:23
Kann ich mit diesem Script eine Datenbank auf replizieren ?
Ich möchte die aktuelle Datenbank sozusagen spiegeln, also Backup von der aktuellen DB und dann in eine neue, leere DB diese Daten 1:1 einspielen ...
Die Anleitung zum Datenbanken sichern hört sich einfach und genial an. Eine Frage hätte ich allerdings dazu. Ich habe das vBulletin-Board so eingestellt, dass Anhänge (in meinem Falle hauptsächlich Grafiken) direkt in der Datenbank gespeichert werden. Werden diese dann auch über das Script mitgesichert oder muss da noch etwas extra dazu getan werden? Danke für jeden Tipp. Habe mich jetzt hoffentlich nicht als DAU geoutet.
Gruß Auramin
Werden diese dann auch über das Script mitgesichert Ja, das Skript sichert die komplette Datenbank inkl. Anhänge.
Ich wollt auf nem anderen Hoster auch ne DB sicher, aber da ist Exec_shell deaktiviert. Gibts da nen Tip wie ich das am besten ohne phpmyadmin backuppe?
Ich wollt auf nem anderen Hoster auch ne DB sicher, aber da ist Exec_shell deaktiviert. Gibts da nen Tip wie ich das am besten ohne phpmyadmin backuppe?
http://www.mysql-front.com/
Das ist ein super Backup & SQL Prog.
Gruß
Gibt es in Dt. & Engl.
mysql-front geht aber nur wenn mysql von extern zugänlich ist und langsam ist es noch dazu
meiner meinung nach zur zeit eins der besten tools für sowas ist das hier
http://www.mysqldumper.de/
mfg
kann ich nicht bestätigen...habe große DB und das geht ganz fix von statten.
Gruß
mySQL Front kenn ich, der DB Server lässt aber keine Zugriffe von aussen zu.
mysqldumper schau ich mir mal an, Danke.
Vielen Dank für dieses nette kleine Script zum Sichern der vB Datenbank. Besteht eigentlich die Möglichkeit dieses Script eventuell durch einen Cronjob automatisch laufen zu lassen, z.B. einmap pro Woche? Sind dafür Anpassungen am Script notwendig, oder reicht es, wenn man im Backupscript einfach den Pfad zum PHP-Binary angibt und die Datei mit den Rechten 755 ausstattet?
Hui ist ja schon alt :)
Nur mal ein Tipp falls Du ein root Server hast
http://www.vbulletin-germany.com/forum/showthread.php?t=22889
PS. Einmal Sichern in der Woche ist arg wenig. Sicher mind. einmal am Tag bzw. je nach Größe des Forum mehrmals täglich.
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.