Seite 1 von 1
[gelöst]Backup SQL Datenbank
Verfasst: 29. Mai 2009, 11:57
von sloomf
Hallo Forum,
Ich lasse auf meinem Homeserver ein CRM auf PHP/MySQL Basis laufen.
Die Installation der Datenbank auf den "shares" wird ja nicht empfohlen, da es schnell zu Inkonsistenzen kommen kann.
Trotzdem möchte ich natürlich regelmäßig (und automatisch) die Datenbank sichern.
Gibt es die Möglichkeit die Datenbank-Datei regelmäßig auf ein "share" zu kopieren zu lassen?
Oder besser noch incrementelle Backups (wie beim Sichern von Daten auf den Client Rechnern möglich)?
Was würdet ihr empfehlen und was lässt sich mit Bordmitteln realisieren?
Besten Dank vorweg
Stephan
Re: Backup SQL Datenbank
Verfasst: 29. Mai 2009, 12:53
von larry
Mit Boardmitteln ist das schwierig. Ich arbeite allerdings mit dem Microsoft SQL-Server.
Normalerweise ist die Datenbankdatei gesperrt, solange der SQL-Server läuft.
Zum Sichern müsstest du also vorher den SQL-Server beenden und dann die Datenbankdatei kopieren.
Bei Microsoft gibt es zusätzlich die Möglichkeit beim SQL eine Sicherheitsmedium zu hinterlegen. Dieses Medium kann auch eine Sicherungsdatei im Share sein.
Dann kann hier direkt über ein SQL-Statement die komplette DB gesichert oder ein inkrementelles Backup angefertigt werden. Keine Ahnung ob es dies auch bei MySQL gibt.
Gruß
Larry
Re: Backup SQL Datenbank
Verfasst: 29. Mai 2009, 13:56
von AliG
Hi!
Für MySQL gibt es mysqldump.exe (zu finden im bin Ordner von MySQL), damit kannst du ein Backup deiner Datenbank anfertigen.
In der CMD würde so ein Befehl etwa so aussehen:
Code: Alles auswählen
mysqldump.exe db_name > \\localhost\Backup\backup-file.sql
Das ganze kannst du dann in eine Batch-Datei packen und per Taskplaner automatisch ausführen lassen.
Weitere Infos zu mysqldump siehe:
http://dev.mysql.com/doc/refman/5.1/de/mysqldump.html
lg Alex
Re: Backup SQL Datenbank
Verfasst: 31. Mai 2009, 12:53
von WartiZ
Such mal im Internet nach mysqldumper. Damit hab ich beste Erfharungen machen können.
LG henry
Re: Backup SQL Datenbank
Verfasst: 31. Mai 2009, 18:44
von sloomf
Vielen Dank für die Hinweise!
Mit mysqldump in einer Batch-Datei klappt es.
Gruß
Stephan
PS:
Wie kann man ein Thema in diesem Forum als erledigt markieren?
Re: Backup SQL Datenbank
Verfasst: 31. Mai 2009, 19:11
von AliG
Hi!
sloomf hat geschrieben:Wie kann man ein Thema in diesem Forum als erledigt markieren?
Gute Frage
Du kannst den Titel des ersten Postings ändern und beispielsweise [gelöst] davorschreiben, dann sieht man das auch in der Thread-Übersicht.
lg Alex
Re: [gelöst]Backup SQL Datenbank
Verfasst: 31. Mai 2009, 21:06
von sloomf
Hallo zusammen,
Ich stell einfach mal den Batch hier zur Verfügung:
Code: Alles auswählen
@echo off
REM DB Dump
REM
REM #
REM #erzeugt Sicherheitskopie der Datenbank vTigerCRM
REM #
REM #Batch wird jeden Tag ausgeführt
REM #es wird jeden Tag eine neue Datei geschrieben
REM #nach Tag 7 wird wirder mit der 1ten Datei begonnen
REM #so ist immer zugriff auf die letzten 7 Tage möglich
:START
goto TEST1:
:TEST1
echo Prüfung 1
if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM1.sql goto TEST2
echo 1 existiert nicht
set dat_name=backup-vTigerCRM1.sql
set del_name=backup-vTigerCRM2.sql
goto DUMP
:TEST2
echo Prüfung 2
if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM2.sql goto TEST3
set dat_name=backup-vTigerCRM2.sql
set del_name=backup-vTigerCRM3.sql
goto DUMP
:TEST3
echo Prüfung 3
if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM3.sql goto TEST4
set dat_name=backup-vTigerCRM3.sql
set del_name=backup-vTigerCRM4.sql
goto DUMP
:TEST4
echo Prüfung 4
if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM4.sql goto TEST5
set dat_name=backup-vTigerCRM4.sql
set del_name=backup-vTigerCRM5.sql
goto DUMP
:TEST5
echo Prüfung 5
if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM5.sql goto TEST6
set dat_name=backup-vTigerCRM5.sql
set del_name=backup-vTigerCRM6.sql
goto DUMP
:TEST6
echo Prüfung 6
if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM6.sql goto TEST7
set dat_name=backup-vTigerCRM6.sql
set del_name=backup-vTigerCRM7.sql
goto DUMP
:TEST7
echo Prüfung 7
if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM7.sql goto TEST1
set dat_name=backup-vTigerCRM7.sql
set del_name=backup-vTigerCRM1.sql
goto DUMP
:DUMP
mysqldump --opt --user XXX -pXXX vTigerCRM > \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\%dat_name%
DEL \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\%del_name%
Es müssen nur die Pfade, Dateinamen und der Logon für den mysqldump angepasst werden.
Hab den Job täglich eingeplant und lasse die Daten auf einem dupliziertem Share speichern.
Gruß
Stephan