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