kostenloser Webspace werbefrei: lima-city


PHP Backup skript...

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    volnerius

    volnerius hat kostenlosen Webspace.

    Hey,

    Ich suche ein PHP skript der ein Backup meiner DB per MySQLDump durchführt... Ich will den Skript dann mit Cronjob aufrufen....

    Hat wer einen? :/
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Selbst kann ich kein Script empfehlen.
    Nach kurzem googlen habe ich aber folgendes gefunden: http://forum.mysqldumper.de/downloads.php

    Du musst allerdings bedenken, dass es bei lima und fast auf jedem anderem Server eine maximale Ausführungszeit von Scripten gibt.
    Wenn deine Datenbank zu groß ist, dann wird das Script vorher abgebrochen, bevor es den Dump generieren konnte.

    Deshalb würde ich dir empfehlen über die Konsole zu gehen.
    0-checka hatte mal (vor laaaanger langer Zeit) ein Tutorial dazu geschrieben.
    Die Suche funktioniret für die Tutorials allerdings nicht. =)
    Für die Konsole kannst du dir unter Linux/Win halt eine Batch Datei schreiben, die zu deinem Server connecten und einen Dump zieht.
    Ist meist wesentlich schneller und du hast auch keine Probleme mit der max_execution_time.

    Gruß Lucas
  4. Autor dieses Themas

    volnerius

    volnerius hat kostenlosen Webspace.

    lucas9991 schrieb:
    Deshalb würde ich dir empfehlen über die Konsole zu gehen.


    Klingt interessant... könntest du mir vielleicht das ein bisschen genauer erklären? :/
  5. MySQLDumper ist aber genau für den Zweck konzipiert, dass die meisten Server eine maximale Ausführungszeit haben. MySQLDumper liest diese Zeit aus und arbeitet entsprechend damit, sodass es nicht zum Timeout kommen kann.

    Da dieLima-City Datenbanken von extern erreichbar sind, kannst du das Backup also auch extern durchführen z.B. mittels PHP-Script, oder auch wie bereits gesagt wurde, per Konsole:

    mysqldump -uBENUTZERNAME -pPASSWORT -hlocalhost DB_NAME | gzip > DB_NAME.sql.gz


    Dies setzt aber vorraus, dass du Zugriff auf eine Konsole bzw. das Programm mysqldump besitzt (z.B. über einen Lokalserver mittels Xampp oder einen Linux Server).

    Beitrag zuletzt geändert: 16.5.2010 11:46:54 von fabo
  6. Autor dieses Themas

    volnerius

    volnerius hat kostenlosen Webspace.

    Dieser PHOP Skript ist dann aber ein "Programm" fü sich und hat rein gar nichts mehr mit dem MySQLDumper zu tun oder?..
  7. Das PHP-Script, welches ich gepostet habe, ist nichts anderes, als eine interaktive Version des Konsolenbackups.
  8. Autor dieses Themas

    volnerius

    volnerius hat kostenlosen Webspace.

    Ich meinte jetzt eigt. den Link http://www.supernature-forum.de/tutorials-and-tipps/23532-backup-und-restore-mysql-datenbanken-ueber-browser.html den du mit gepostet hast...

    Das mit der Konsole: Wo soll ich dan den Skript einfügen?
    Sry für die dummen Fragen <.<


    Mfg
  9. Ich auch...

    Zur Konsole... Das ist das kleine schwarze Fensterchen, wo man nur schreiben kann ;) Hier auf Lima-City hast du keinen Konsolenzugriff, jedoch kannst du z.B. unter Windows mit installiertem Xampp bzw. MySQL den Kommandozeileninterpreter (cmd) für das MySQL Backup benutzen.

    Ich empfehle dir trotzdem die Nutzung von MySQLDumper.

    Beitrag zuletzt geändert: 16.5.2010 12:44:40 von fabo
  10. Autor dieses Themas

    volnerius

    volnerius hat kostenlosen Webspace.

    Eine Frage habe ich noch und zwar:
    Die Skripte auf http://www.supernature-forum.de/tutorials-and-tipps/23532-backup-und-restore-mysql-datenbanken-ueber-browser.htmlsind eine Sachen für sich und haben nichts mit dem MySQLDumper zu tun oder?...
  11. Davon sprach ich bereits.

    MySQLDumper ist ein eigenständiges Datenbank-Backupscript. Das andere Script ist lediglich eine interaktive Oberfläche für die Datensicherung mittels Konsole.

    Um es anders zu erklären... Normalerweise wird folgender Konsolenbefehl genutzt, um eine Sicherung der Datenbank(en) durchzuführen:

    mysqldump -uBENUTZERNAME -pPASSWORT -hlocalhost DB_NAME | gzip > DB_NAME.sql.gz


    So, oder so ähnlich funktioniert es auch unter Windows, insofern es den Befehl "mysqldump" kennt. Ansonsten kann dieser Befehl in dem Kommandozeileninterpreter von Linux eingegeben werden (z.B. auf einem V und/oder Rootserver).

    Wenn die Grundvorraussetzung (Befehl "mysqldump") gegeben ist, kann man nun entweder den obigen Befehl nutzen ODER das von mir gepostete PHP-Script. Dazu benötigt man aber auch entsprechende Rechte, die auf einem Webspace beispielsweise nicht zur Verfügung stehen.

    Der MySQLDumper ist wiederrum für den Einsatz auf einem Webserver ausgelegt und komplett unabhängig von dem obigen Konsolenpipapo. Zusätzlich ist er recht einfach zu installieren, bedienen und kann auch unter gewissen Vorraussetzungen selbstständig (d.h. automatisch zu gegebener Zeit) eine solche Sicherung durchführen.

    Beitrag zuletzt geändert: 16.5.2010 12:58:08 von fabo
  12. Autor dieses Themas

    volnerius

    volnerius hat kostenlosen Webspace.

    Ich probiere mich gerade mit dem Skript von der Seite.... Habe das GZIP entfernt da es bei lima-city nicht geht... Aber nun gehts immer noch nicht
    http://volnerius.lima-city.de/backup-restore-mysql/1274011562.sql
    Objekt nicht gefunden!

    Der angeforderte URL konnte auf dem Server nicht gefunden werden. Der Link auf der verweisenden Seite scheint falsch oder nicht mehr aktuell zu sein. Bitte informieren Sie den Autor dieser Seite über den Fehler.

    Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.


    <?
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // $$ Datenbank Backup Script                      $$
    // $$ (c) Jens Dutzi                               $$
    // $$ Datum: 21.09.2000                            $$
    // $$                                              $$
    // $$ Vorraussetzung: Unix, GZIP, MySQL, MySQLDump $$
    // $$                                              $$
    // $$ Die MySQL Datenbank können Sie sichern,      $$
    // $$ rufen Sie einfach db_backup.php4 im Browser  $$
    // $$ auf. Die gesicherte Datei können Sie per     $$
    // $$ Link im Browser-Fenster runterladen. Bitte   $$
    // $$ nach dem Download die Datei per FTP wieder   $$
    // $$ löschen oder umbennen.                       $$
    // $$ -- Hinweis: Die Benutzung erfolgt auf eigene $$
    // $$ Gefahr !! --                                 $$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    
    //######### Variablen, bitte anpassen ###########
    $db_host="mysql.lima-city.de";
    $db_username="USER?????";
    $db_passwort="?????";
    $db_name="db_184652_1";
    $pfad="/home/webpages/lima-city/volnerius/html";
    $download_url="http://volnerius.lima-city.de/backup-restore-mysql/";
    $dateiname=date('U');       //muss nicht geändert werden. Damit wird ein unique Dateiname erzeugt
    //######### ab hier bitte nichts ändern ###########
    
    $programm="mysqldump";
    $parameter=" -l --add-drop-table -h ".$db_host." -u".$db_username." -p".$db_passwort." ".$db_name." 2>".$pfad."/error.txt >".$pfad."/".$dateiname.".sql";
    
    echo("<b>Starte MySQL Dump:</b> \n");
    exec($programm . " " . $parameter, $lines, $result);
    echo("ausgeführt!<br>\n");
    
    echo("<b>komprimiere Ausgabe:</b> \n");
    exec("gzip -c ".$pfad."/".$dateiname.".sql > ".$dateiname.".sql", $lines, $result);
    echo("ausgeführt!<br>\n");
    
    echo("<b>lösche nicht-komprimierte Datei:</b> \n");
    exec("rm ".$pfad."/".$dateiname.".sql", $lines, $result);
    echo("ausgeführt! \n");
    
    echo("<p>\n");
    
    echo("<a href=\"".$download_url.$dateiname.".sql\" target=\"_blank\">Download File</a>");
    ?>


    Weiß wo der fehler ist? Ich bin echt langsam am Verzweifeln...^^
  13. Der Fehler liegt bei dir: Lies einfach, was ich schreibe ;)

    Das Backup Script funktioniert nicht auf Lima, weil du nicht das Recht hast, den Befehl mysqldump bzw. exec() auszuführen. Deswegen sollst du MySQLDumper verwenden!
  14. Autor dieses Themas

    volnerius

    volnerius hat kostenlosen Webspace.

    ~.~

    Dumper verwende ich.... nur das problem das da nur perl skripte gibt die per cronjob aufgerufen werden da perl hier nicht geht brauch ich ein php skript deshalb habe ich eigt. den Thread eröffnet <.<

    Hast du oder irgendwer anders einen fertigen Skript den ich dafür nehmen kann?^^
  15. Wenn man sich MySQL "manuell" für Windows herunterlädt, dann ist hierbei in der Regel eine mysqldump.exe dabei.
    Diese Datei kann man mit der Windows Konsole (Windows Taste + R => "cmd" und dann Enter) öffnen und Parameter übergeben, die von einem MySQL Server (remote, also einem Server, der irgendwo steht) ein Datenbank Backup machen.

    Diese Art des Backups kann man auch unter Linux so ähnlich starten.

    Aaaaaber:
    So lange du keinen Konsolenzugriff hast, kannst du das Backup nicht von dem _Webserver_. starten.

    Aaaaber²:
    Du kannst das Backup von deinem eigenen PC aus starten. (Voraussgesetzt du hast auch hier Konsolenzugriff, wovon ich aber mal ausgehe. ;-))
    Unter Windows kann man sich dazu auch eine einfache Batch Datei schreiben, die die mysqldump.exe mit ein paar Parametern aufruft.
    Diese Datei kann man dann sicherlich automatisiert in einem bestimmten Intervall aufrufen und hätte deine Anforderung gelöst.
  16. Autor dieses Themas

    volnerius

    volnerius hat kostenlosen Webspace.

    Naja das ganze kann ich ja auch per MySQLDump machen.... ich wills aber aber mit einem cronjob automatisch machen das geht ja mit der Konsole nicht.... -.- naja egal anscheinend gib t es keine Lösung <.<
  17. www.cronjob.de

    Benutze ich selber ;)
  18. @volnerius: Was glaubst du was ein Cronjob ist? Das ist nicht etwas, was nur Server haben. Auf jedem Linux-Rechner kannst du Cronjobs einrichten. Bei Windows gibt es das selbe, das heißt dann "Dienste" (wenn ich mich nicht irre.) Automatisieren ist also kein Problem.
  19. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!