Hallo Michael,
Micha123 wrote:Wie kann man es realisieren das (nur) die SQL-Datenbank automatisch z.B. nachts gesichert wird?
Am besten via Batch Script(e). MySQL kann man sehr gut über die Kommandozeile ansprechen. Zuständig für Datenbank-Dumps ist das Kommando
mysqldumpEin kleines Beispiel.
Erstell eine neue Datei C:\batch\dailydump.bat mit folgendem Inhalt
- Code: Select all
C:\xampp\mysql\bin\mysqldump.exe --user="root" --password="" --databases "cdcol" "test" --result-file="U:\databases.sql"
Selbstverständlich müssen alle Angaben mit deinem System abgestimmt werden, also:
- Der Pfad zu deiner mysqldump.exe (im Beispiel C:\xampp\mysql\bin\mysqldump.exe)
- Ein Benutzer mit den Rechten auf die zu dumpenden Datenbanken zugreifen zu können (im Beispiel root)
- Das dazugehörige Passwort (im Beispiel ist das Passwort leer)
- Die Datenbanknamen die gesichert werden sollen (im Beispiel cdcol und test)
- und der Pfad mit Dateiname, den der dump haben soll (im Beispiel U:\databases.sql)
Diese Batch-Datei kannst du dann einfach per Windows Task ausführen lassen.
Beachten solltest du, dass bei dem Beispiel alle Datenbanken in derselben Datei gedumpt werden.
In der Regel ist es Sinnvoller jede Datenbank einzeln zu dumpen um sie auch einfacher einzeln wiederherstellen zu können.
Dies ist dann aber ein reines Batch-Problem und hat mit dem dumpen nichts mehr zu tun, daher gehe ich darauf jetzt nicht ein.
Ein weiteres Batch-Thema wäre, den Dateinamen variabel zu gestalten (zum Beispiel Datum-Zeitstempel) um mehrere Dumps anlegen zu können.
Micha123 wrote:...und das Backup auf einem dauerhaft angeschlossenen USB-Stick gespeichert wird.
"Dauerhaft angeschlossen" ist immer so eine Sache. Ich halte die ganze Konstruktion für zu fehleranfällig.
Gerade USB-Geräte können manchmal den Kontakt verlieren, wenn sie geringfügig bewegt werden.
Micha123 wrote:soll heißen nachts wird er garantiert nicht genutzt ein Beenden und Neustarten von SQL
müsste doch dann nicht notwendig sein, oder? Hab schon von einigen Problemen dabei gelesen.
Probleme kann es immer geben, wenn man Statusveränderungen an Prozessen oder Diensten vornimmt.
Solltest du außerdem InnoDB Datenbanken mit Transaktionen nutzen wirst du kaum eine Alternative haben als die Datenbankprozesse vorher sauber zu beenden, denn diese Form von Datenbanken kann man nicht so ohne weiteres im laufenden Betrieb sichern (denn die einzigen Lösungen die ich kenne, InnoDB Datenbanken "problemlos" im Laufenden Betrieb sichern zu können kosten eine Menge Geld.)
Micha123 wrote:Des weiteren hab ich schon was gelesen ntbackup und batch-dateien.
Davon hab ich aber leider keinen Plan und würde mich daher über Unterstützung freuen.
Nun, zumindest mit Batch-Dateien und Batch-Dateien in Verbindung mit Windows Tasks wirst du dich beschäftigen müssen. Du musst verstehen was du da einbaust und wie man das verwendet, ansonsten kannst du nichtmal eine vernünftige Fehleranalyse durchführen.
mit freundlichen Grüßen,
Altrea