Jörg: Datenbanken sichern

Beitrag lesen

Hallo,

leider kann ich meine Datenbanken nicht per ssh sichern, hierzu fehlen mir Rechte. Bisher habe ich sie mit einem perlscript gesichert, was seinerzeit beim sqldumper dabei war. Funktioniert einigermaßen komfortabel, aber nicht 100% zuverlässig, wenn ich neue Datenbanken einpflege und diese nicht sofort auch in die config-Datei des perlscripts übernehme.

Daher habe ich ein script geschrieben, das diese Arbeit übernehmen soll.

Es soll ermitteln, welche Datenbanken vorhanden sind und diese dann nach und nach sichern, wobei sich das script dann jeweils selber wieder aufrufen soll.

Ich würde das script hier gerne mal zur Diskussion stellen ujnd um eventuelle verbesserungen und Kritik bitten.

Btw.: Ich würde sagen, es sollte laufen, aber ich habs noch nicht Probe laufen lassen können, da system-Befehle auf meinem Testserver nicht laufen. Auf dem produktivserver laufen sie, aber dort habe ich nur den reinen "Dump-Teil" getestet. Der läuft.

$sql = "SHOW DATABASES";
$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'pass';
$path = '/bla/bla/';

$link = mysqli_connect($dbhost,$dbuser,$dbpass) or die ('Error connecting to mysql: '.mysqli_error($link).'\r\n');

if(!($result = mysqli_query($link,$sql))) {
    printf("Error: %s\n",mysqli_error($link));
}

while($row = mysqli_fetch_row($result)) {
    if(($row[0] != "mysql") || ($row[0] == "information_schema")) {
        // DB-User sind immer die ersten 10 zeichen des DB-Namens
        $arr_list[] = $row[0]."_".substr($row[0],0,10);
    }
}

if(!isset($_GET['listID'])) {
    $listID = 0;
} else {
    $listID = $_GET['listID'];
}

while($listID < count($arr_list)) {
    $myEintrag = $arr_list[$listID];
    $arr_myEintrag = explode('_',$myEintrag);
    $dbname = $arr_myEintrag[0];
    $dbuser = $arr_myEintrag[1];
    $db_kennzeichen = $dbuser.'_'.date("d_m_Y_G_i");

    system('/usr/bin/mysqldump -u'.$dbuser.' -p'.escapeshellarg($dbpass).' -h'.$dbhost.' '.$dbname.' | /bin/gzip >'.$path.'dump/'.$db_kennzeichen.'.sql.gz',$fp);

    if(($fp == 0) && (false !== chmod($path.'dump/'.$db_kennzeichen.'.sql.gz',0666))) {
        //echo "Daten exportiert";
    } else {
        echo "Es ist ein Fehler aufgetreten".$fp;
    }
    $listID++;
    header("Location: http://mysite.bla/dump.php?listID=".$listID."");
}
echo "fertig";
exit;
0 75

Datenbanken sichern

Jörg
  • datenbank
  • php
  • sicherheit
  1. 0
    Raketentester
    1. 0

      Noch ein Hinweis

      Raketentester
    2. 0

      Letzte Hinweise

      Raketentester
      1. 0
        Jörg
    3. 0
      Jörg
      1. 0
        Raketentester
        1. 0
          Jörg
          1. 0
            Raketentester
            1. 0
              Jörg
              1. 0
                Jörg
                1. 0
                  Raketentestpilot
  2. 0

    Das willst Du auch nicht...

    Raktentester
    1. 0
      Jörg
      1. 0
        Raketentester
        1. 0

          Das willst Du auch nicht... / Nachfrage

          Jörg
          1. 0
            Raketentestpilot
            1. 0
              Jörg
              1. 0
                Raketentestpilot
              2. 0
                Rolf B
                1. 0
                  Jörg
                  1. 0
                    Rolf B
                    1. 0
                      Jörg
                      1. 0
                        Der Martin
                    2. 0
                      Jörg
                      1. 0
                        Jörg
                        1. 0
                          Raketenskripter
                          1. 0
                            Rolf B
                            1. 0
                              Raketenrechtgeber
                          2. 0
                            Jörg
                            1. 0

                              „Tut“ leider nicht

                              Raketenskripter
                              1. 0
                                Jörg
                  2. 0

                    Warum denn einfach wenn es kpmpliziert geht ...

                    Raketenskripter
                    1. 0
                      Rolf B
                      1. 0
                        Raketenskripter
                        1. 0
                          Rolf B
                          1. 0
                            Raketenskripte
                    2. 0

                      Ein paar weitere Funktionen ...

                      Raketenskripter
                      1. 0
                        Rolf B
                        1. 0
                          Raketenskripter
                          1. 0
                            Jörg
                            1. 0
                              Raketenskripter
                      2. 0
                        Jörg
                        1. 0
                          Raketenskripter
                          1. 0
                            Jörg
                            1. 0
                              Raketenskripter
                              1. 0
                                Raketenskripter
                              2. 0
                                Jörg
                          2. 0
                            Jörg
                            1. 0
                              Raketenskripter
                              1. 0
                                Raketenskripter
                              2. 0
                                Jörg
                                1. 0
                                  Raktenskripter
                                  1. 0
                                    Raketenskripter
                                    1. 0
                                      Jörg
                                      1. 0
                                        Raketenskripter
                                2. 0
                                  Jörg
                                  1. 0
                                    Raketenskripter
                                    1. 0
                                      Jörg
                                      1. 0

                                        Shellscripting

                                        Jörg
                                        1. 0
                                          Raketenskripter
                                          1. 0
                                            Jörg
                                            1. 0
                                              Jörg
                                              1. 0
                                                Raketenskripter
                                                1. 0
                                                  Jörg
                                                  1. 0
                                                    Raketenwilli
                                                    1. 0
                                                      Jörg
                  3. 0

                    Statt Support

                    Raketentestpilot
                    1. 0
                      Jörg
  3. 0

    Datenbanken sichern / Nochmal mit Kommentaren

    Jörg
    1. 0
      Jörg
      1. 0
        MudGuard
        1. 0
          Jörg
    2. 0
      dedlfix
      1. 0
        Jörg