Automatisierte oder regelmäßige Sicherung von MySQL-Daten

Ich möchte regelmäßig Sicherungen einiger Tabellen in meiner MySQL-Datenbank mit <Lieblings-PHP-Framework hier einfügen> / plain php / my second favourite language erstellen. Ich möchte, dass es automatisiert wird, damit das Backup später wiederhergestellt werden kann, falls etwas schief geht.

Ich habe versucht, eine Abfrage auszuführen und die Ergebnisse in einer Datei zu speichern. Endete mit Code, der ungefähr so aussieht.

$sql = 'SELECT * FROM my_table ORDER id DESC';
$result = mysqli_query( $connect, $sql );  
if( mysqli_num_rows( $result ) > 0){

    $output=fopen('/tmp/dumpfile.csv','w+');

    /* loop through recordset and add that to the file */
    while( $row = mysqli_fetch_array( $result ) ) {
        fputcsv( $output, $row, ',', '"');
    }

    fclose( $output );
}

Ich habe auf meinem lokalen Computer einen Cron-Job eingerichtet, um die Webseite mit diesem Code aufzurufen. Ich habe auch versucht, einen Cronjob auf dem Server zu schreiben und das Skript als CLI auszuführen. Aber es verursacht alle möglichen Probleme. Diese beinhalte

Manchmal sind die Daten nicht konsistentDie Datei scheint abgeschnitten zu seinDie Ausgabe kann nicht in eine andere Datenbank importiert werden Manchmal läuft das Skript aus

Ich habe auch von @ gehömysqldump. Ich habe versucht, es mit @ auszuführexec aber es erzeugt einen Fehler.

Wie kann ich das lösen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage