Jürgen: Datenbank-Backup per PHP-Script

Guten Abend,

ich möchte per Cronjob ein PHP-Script ausführen, dass eine Sicherung meiner Datenbank durchführt.
Nun habe ich dies gefunden:
<?php
system("/usr/bin/mysqldump -uUSERNAME -pPASSWORT -h localhost DATENBANKNAME > ".dirname(__FILE__)."/dump.sql", $fp);
if ($fp==0) echo "Daten exportiert"; else echo "Es ist ein Fehler aufgetreten";
?>
Ist es brauchbar? Kann mir jemand vielleicht die Funktionsweise (Parameter, etc.) erklären?

Danke.

Jürgen

  1. Hallo Jürgen,

    Kann mir jemand vielleicht die Funktionsweise (Parameter, etc.) erklären?

    Ja, das Handbuch.

    Grüße aus Nürnberg
    Tobias

    --
    TOP7: Hinweise, dass du langsam taub wirst
    Selfcode: ie:% fl:( br:< va:) ls:[ fo:) rl:° n4:& ss:) de:] js:| ch:? sh:( mo:| zu:)
    1. Danke, habe ich mir durchgelesen.

      Leider wird bei Ausführung des Scripts keine Datei angelegt. Fehlermeldungen werden nicht angezeigt. Wie kann ich das Problem ermitteln?

      Jürgen

      1. Hallo Freunde des gehobenen Forumsgenusses,

        Leider wird bei Ausführung des Scripts keine Datei angelegt. Fehlermeldungen werden nicht angezeigt. Wie kann ich das Problem ermitteln?

        Was ergibt folgendern Code:
        echo "/usr/bin/mysqldump -uUSERNAME -pPASSWORT -h localhost DATENBANKNAME > ".dirname(__FILE__)."/dump.sql";

        Passwort bitte durch * ersetzen.

        Verbietet dein Provider vielleicht system?
        Schreib mal an den Anfang des Scripts
        error_reporting(E_ALL);

        Gruß
        Alexander Brock

        --
        A
        1. Was ergibt folgendern Code:
          echo "/usr/bin/mysqldump -uUSERNAME -pPASSWORT -h localhost DATENBANKNAME > ".dirname(__FILE__)."/dump.sql";

          Gibt genau die Ausgabe natürlich als String zurück.

          Verbietet dein Provider vielleicht system?
          Schreib mal an den Anfang des Scripts
          error_reporting(E_ALL);

          Erzeugt keine Fehlermeldungen.

          Hast du noch einen Tipp?

          Jürgen

          1. Hallo Freunde des gehobenen Forumsgenusses,

            Was ergibt folgendern Code:
            echo "/usr/bin/mysqldump -uUSERNAME -pPASSWORT -h localhost DATENBANKNAME > ".dirname(__FILE__)."/dump.sql";

            Gibt genau die Ausgabe natürlich als String zurück.

            Was bitte soll das? Ich habe dich um die Ausgabe des Codes gebeten,
            nicht um einen Satz, der mir in keinster Weise weiterhilft.

            Gruß
            Alexander Brock

            --
            A
  2. echo $begrüßung;

    ich möchte per Cronjob ein PHP-Script ausführen, dass eine Sicherung meiner Datenbank durchführt.
    Nun habe ich dies gefunden:
    <?php system("/usr/bin/mysqldump [...]
    Ist es brauchbar?

    Es ist unnötig, ein PHP-Script aufzurufen, das nichts anderes macht als einen System-Befehl aufzurufen. Wenn dir schon Cronjobs zur Verfügung stehen, kannst du den Datenbanksicherungsbefehl direkt in die crontab eintragen.

    Wenn dir auch noch Shell-Zugriff gewährt ist solltest du den mysqldump-Befehl dort zusammenbauen und testen. Ansonsten kann dir dabei die PHP Shell behilflich sein.

    echo "$verabschiedung $name";