Raketenwilli: Datenbank aus Shellscript-Sicherung wiederherstellen

Beitrag lesen

Die Idee, einen Systembefehl als Einzeiler zu erzeugen und loszuballern erscheint „schlank“, hat aber Nachteile bei der Fehlersuche.

Rezept:

  1. Trenne das!
  2. Arbeite bei Shell-Befehlen mit einer Umleitung, um Fehler zeigen zu können.
  3. Notiere übersichtlicher! (Lange Zeilen sind Mist!)
$sys='/bin/gunzip -c ' . $wp_path . ' 2>> /tmp/error.log'
     . ' | /usr/bin/mysql -u' . $db_user 
     . ' -p' . escapeshellarg( $db_pass ) 
     . ' -h' . $db_host . ' ' . $db_name
     . ' 2>> /tmp/error.log'
;

system( $sys , $fp );

Dann kannst Du nämlich mit ...

if( $fp == 0 ) {
    echo "Daten importiert";
} else {
    error_reporting( E_ALL );
    ini_set( 'display_errors', 0 );
    trigger_error( 
        "Fehler beim Shell-Befehl '$sys' - Weitere Informationen in Datei /tmp/error.log!",
        E_USER_ERROR
    );
}

... das Wegloggen des womöglich fehlerhaften Strings in das Error-Log (unter Vermeidung einer Anzeige von Datenbank, Benutzernamen und Passwort im Browser) erzwingen.

Die Fehler, welche gzip bzw. sodann die Datenbank schmeißt, findest Du, dank der Umleitungen in der Datei /tmp/error.log. Freilich könnte man die (vor dem Ausstieg mit trigger_error(…, E_USER_ERROR)) auch ins error-log von php übernehmen…

0 44

Datenbank aus Shellscript-Sicherung wiederherstellen

Jörg
  • bash-script
  • datensicherung
  • php
  1. 0
    Raketenwilli
    1. 0
      Jörg
      1. 0
        Raketenwilli
        1. 0
          Jörg
          1. 0
            Raketenwilli
            1. 0
              Jörg
              1. 0
                Raketenwilli
                1. 0
                  Jörg
                2. 0

                  Datenbank aus Shellscript-Sicherung wiederherstellen: Fehler gefunden?

                  Jörg
                  1. 0
                    Jörg
                    1. 0
                      Raketenwilli
                      1. 0
                        Jörg
                        1. 0
                          Jörg
                          1. 0
                            Raketenwilli
                        2. 0
                          Raketenwilli
                          1. 0
                            Jörg
                            1. 0
                              Raketenwilli
                              1. 0
                                Jörg
                                1. 0
                                  Raketenwilli
                                  1. 0
                                    Jörg
                  2. 0
                    Raketenwilli
                    1. 0
                      Jörg
                      1. 0
                        Raketenwilli
                        1. 0
                          Jörg
                          1. 0
                            Raketenwilli
                            1. 0
                              Jörg
                              1. 0
                                Raketenwilli
                                1. 0
                                  Jörg
                                  1. 0
                                    Raketenwilli
                                    1. 0
                                      Jörg
                                      1. 0
                                        Raketenwilli
                                        1. 0
                                          Jörg
                                          1. 0
                                            Der Martin
                                          2. 0

                                            Kastensatz des Programmierers

                                            Raketenwilli
                                            1. 0
                                              Jörg
                                              1. 0
                                                Raketenwilli
                                    2. 0
                                      Rolf B
                                      1. 0

                                        Ja. Aber ...

                                        Raketenwilli
                                        1. 0
                                          Rolf B
                                          1. 0
                                            Raketenwilli
                                        2. 0

                                          Fortsetzung

                                          Raketenwilli
  2. 0
    Der Martin
    • datensicherung
    • meinung
    • programmiertechnik
    1. 0
      Jörg