Ankündigung

Einklappen
Keine Ankündigung bisher.

Rückgabe von exec mysqldump

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Rückgabe von exec mysqldump

    Hi,

    ich habe mir gerade einen abgebrochen beim Versuch mal eben kurz auf meiner Entwicklerkiste ein Skript zu schreiben, das mir 4 Datenbanken sichert.

    Das Ganze funktioniert zwar jetzt, allerdings verstehe ich nicht, wie ich den Erfolg der jeweiligen Sicherung abfrage.


    PHP-Code:
    $cmd_tpl 'C:\Programme\MySQL"MySQL Server 5.7"\bin\mysqldump.exe -h localhost -u dump_user -pdump_pw %s --lock-tables=false > %s_dump.sql';

        foreach(
    $dbs as $db_name) {
            
    $cmd sprintf($cmd_tpl,$db_name,$db_name);
            
    //echo $cmd;
            
    $done exec($cmd,$output,$result);
            
    var_dump($output);
            
    var_dump($result);
            
    var_dump($done);
        } 
    Als ich noch Probleme mit der Pfadangabe hatte war $result int(1), obwohl nur eine leere Datei produziert wurde.

    Jetzt werden die dump files korrekt erstellt und $result ist int(0) ?!

    Das kommt mir aber komisch vor. Eigentlich hätte ich es umgekehrt erwartet.

    Ansonsten sind

    $output ein leeres Array
    $done ist ein leerer String.

    Die Frage ist also: Wie kann ich im Skript prüfen, ob der Vorgang erfolgreich war?
    Es ist schon alles gesagt. Nur noch nicht von allen.


  • #2
    Hm, hat sich wohl schon erledigt. Habe gerade folgende Auflistung gefunden bzgl. Rückgabe von mysqldump.exe:

    0 for Success
    1 for Warning
    2 for Not Found
    Es ist schon alles gesagt. Nur noch nicht von allen.

    Kommentar


    • #3
      Das sind "exit codes". Jeder Prozess gibt unter *nix Systemen ein Wert zurück wenn er beendet wird. Eine 0 ist immer erfolgreichn. Jeder andere Wert ist als Fehler oder Warning zu verstehen. Was das genau bedeutet, hängt dann aber immer vom jeweiligen Programm ab.

      Kommentar


      • #4
        @erc: Vielen Dank, wusste ich noch gar nicht. Der Prozess wird sich bei mir unter Windows dann wohl genauso verhalten.
        Es ist schon alles gesagt. Nur noch nicht von allen.

        Kommentar

        Lädt...
        X