SQL Datenbank (Xampp) über Shellscript sichern?

Frader

Commander
Registriert
Okt. 2007
Beiträge
2.537
Ich habe derzeit auf meinem angemieteten V-Server des öfteren mit spontanen Ausfällen zu kämpfen. Der Server läuft auf Win2008.

Auf dem Server läuft eine Webseite über Apache inkl- SQL Datenbank-Anbindung. Beides mit Xampp realisiert.
Auch läuft ein TS3 Server.

Nun ist es so das mittlerweile schon oft meine SQL-Datenbank und auch mein Teamspeak-Server durch den Absturz zerstört wurde und die Datenbank und der TS3 Server nicht mehr liefen.

Ich konne die Sache durch manuelle Backups glücklicherweise wiederherstellen.

Nun wollte ich so einen Backupvorgang über Shell-Script automatsieren.

Die Webserverdaten und TS3 konnte ich per Script schon realisieren.
xcopy C:\xampp\htdocs C:\Users\Administrator\Desktop\Backups\Homepage_Backup /I /Y /S /E
xcopy C:\Users\Administrator\Desktop\TS3_Server C:\Users\Administrator\Desktop\Backups\TS3_Backup /I /Y /S /E

Nur wie exportiere ich per Script meine SQL-Datenbank? Geht das überhaupt? Falls ja , habt ihr dazu einen Beispielcode!
 
Kuck mal im MySQL/bin Verzeichnis, dort müsste es eine mysqldump Anwendung geben. Diese ermöglicht dir das Sichern der Datenbank
Code:
mysqldump --user=... --password=... --all-databases --single-transaction >C:\Users\Administrator\Desktop\Backups\database-backup.sql
 
Du kannst einfach die Datenbankdateien sichern und wiederherstellen.

Zu finden im mysql/data ordner oder unter windows mysql\data
 
Also, ich hab mal dort meinen Usernamen und mein Passwort eingegeben.
Er erstellt zwar in dem Desktopordner Backups eine SQL-Datei.
Allerdings hat diese dann 0 Bytes.

Irgendwas klappt da noch nicht ganz!
 
frow schrieb:
Du kannst einfach die Datenbankdateien sichern und wiederherstellen.

Zu finden im mysql/data ordner oder unter windows mysql\data

Nein. Wenn auf Tabellen während des sicherns geöffnet sind oder sogar geschrieben wird, sicherst du einen im besten Fall inkonsistenten Zustand und im schlechtesten Fall eine nicht wiederherstellbare Datenbank. Wenn dann geht das nur zuverlässig mit MySQL hotcopy

Edit: Wenn es nicht geht probier statt der Ausgabeumlenkung mal das passende Argument:
Code:
mysqldump --user=... --password=... --all-databases --single-transaction --result-file=C:\Users\Administrator\Desktop\Backups\database-backup.sql
 
Ok, ich habs nun hinbekommen das er jedenfalls etwas sichert.
Mich verwundert nur das wenn ich alle Datenbanken manuell exportiere die Datei ca. 2,3 MB groß ist.
Und über die Befehlszeile im Script wird sie nur ca. 1,6 MB groß.

Sorry, bin etwas neu in der Thematik. Bin für jede Info dankbar.
 
Zurück
Oben