Datenbank mit Cronjob auf dem Webspace sichern

  • Hallo,

    eventuell ist mein Anliegen etwas komisch, aber mir persönlich ist das relativ wichtig.

    Ich sichere ca 3-4 alle Dateien meiner Webseiten via FTP und dort wird auch täglich die Datenbank gespeichert, so dass ich diese direkt mit sichere.

    Nur seit ich den Hoster wechseln musste, kann diese Backup-Script so nicht mehr genutzt werden.

    Daher wollte ich fragen, wie ich folgende Anforderung realisieren kann?

    Ein Script wird mit einem Cronjob aufgerufen, welches die Datenbank auf dem Webspace speichert wo es ausgeführt wurde. (Am Besten in einem Unterordner)


    Vielen Dank

  • Jedoch gibt es spezielle Achtung zu geben bei dem Speichern/Backupen von Datenbanken. Wenn gerade Transaktionen oder andere Prozesse laufen und du da was rauskopierst kann es Data corruption geben, was du unbedingt vermeiden möchtst.

    Es gibt zwei Möglichkeiten das Problem zu lösen:
    1. Du stoppst die Datenbank, kopierst die Files und startest die Datenbank wieder

    2. (besser) Du connectest zur Datenbank und lasst dir einen SQL Dump erstellen und den tust du dann auf deinen FTP Server.

    So hast du keine Data corruption und kannst deine Datenbank sicher backupen

  • Dieses kurze script, könntest du an deine Bedürfnisse anpassen und dann als cronjo ausführen lasssen. Es meldet sich in der Datenbak an und exportiert diese. anschlieend wird die exportierte datei direkt auf einen ftp server hochgeladen. ftp client muss dafür installiert sein.

  • Habe das hier gerade spontan zusammengewürfelt. Musst die Values noch anpassen und dann mal manuell ausprobieren mit . backup.sh

    backup.sh :

  • Dieses kurze script, könntest du an deine Bedürfnisse anpassen und dann als cronjo ausführen lasssen. Es meldet sich in der Datenbak an und exportiert diese. anschlieend wird die exportierte datei direkt auf einen ftp server hochgeladen. ftp client muss dafür installiert sein.

    Sieht auch ganz oke aus. Weiss nicht was die ganzen quote und binary cmds machen xD aber gut.

  • Würde das ganze auch ohne FTP gehen, denn die Datei liegt ja schon auf dem richtigen Webspace?

    Dann muss ich mich nicht extra per FTP verbinden.

    Datenbank ist bei mir MariaDB im Einsatz.

    Klar,
    Du kanst einfach im bash script den upload Teil wegmachen un statdessen den dateipfad anpasen.
    ungefär so:

    Code
    MYSQL_USER="username"
    MYSQL_PASSWORD="password"
    MYSQL_DATABASE="database_name"
    
    FILENAME="/var/www/html/backup.sql"
    
    
    mysqldump --user=$MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DATABASE > $FILENAME

    So würde die Datei immer direkt auf dem webspace gespeichert werden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!