Wie man eine automatische Datensicherung für die MSSQL JTL-Datenbank der JTL Wawi einrichtet, auch wenn nur ein Express Server verwendet wird, zeige ich in diesem Beitrag.
Inhaltsverzeichnis
Warum ist eine Datensicherung wichtig?
Eine Datensicherung ist für Geschäftsdaten immer essenziell. Das trifft auch auf die JTL-Wawi zu. Regelmäßig sehe ich, dass eine Datensicherung für die JTL-Wawi stiefmütterlich behandelt oder gar nicht gemacht wird. Das ist natürlich Kreuz gefährlich.
Es kann immer etwas passieren. Zum Beispiel:
- Festplatte des Rechners defekt, auf dem der SQL-Server läuft.
- Fehlbedienung, die alle Daten zerstört.
- Virusbefall des Rechners, auf dem die Datenbank läuft.
- Einbruch mit Diebstahl des Rechners auf dem der SQL Server läuft.
- Höhere Gewalt wie Feuer, Überschwemmung, Sturmschaden etc.
In der Wawi werden alle Kundendaten, alle Aufträge, Rechnungen, Rechnungskorrekturen und alle Warenbewegungen gespeichert. Wer eine POS-Kasse besitzt, bei dem werden auch alle Kassenvorgänge in der Datenbank gespeichert.
Und genau da liegt das Problem. Das Finanzamt will bei einer Prüfung die Daten haben, dass z. B. durch einen Einbruch der Rechner weg ist, interessiert das FA nicht. Als Unternehmer bist du für die Sicherheit deiner Daten zuständig. Also wird das FA einfach mal deinen Umsatz anhand von Branchen üblichen Zahlen schätzen. Und glaube mir, die schätzen nicht zu deinem Vorteil.
Darum ist eine Datenbank-Sicherung der JTL-Datenbank zwingend notwendig. Die JTL-Wawi meldet sich sogar, wenn länger als 24 Std. keine Datensicherung erfolgt ist. Was kann man also tun?
Variante 1: Datensicherung per Shell Skript
Bei dieser Variante wird in einem Batch-Skript eine Befehlsabfolge geschrieben, mit dem die MSSQL Datenbank exportiert wird. Dieses Skript kann über die Shell von Windows (CMD Windows Eingabeaufforderung) ausgeführt werden.
Um das Ganze zu automatisieren, ruft man dann dieses Batch-Skript regelmäßig mit der Windows-Aufgabenplanung auf. Hier kann dann detailliert eingestellt werden, wann und wie oft das Skript ausgeführt werden soll. Sinnvoll ist hier jeden Tag so gegen 5 Uhr.
Damit das Script ausgeführt werden kann, muss unter Windows zuerst die Verbindung zur Datenbank über die ODBC-Datenquellen eingerichtet werden.
Anschließend muss die Batch-Datei erstellt werden. In diese Datei kommt dann das Export-Skript.
@echo off set datum_m=%date:~3,2% set datum_d=%date:~0,2% set datum_y=%date:~6,4% set stunde=%time:~0,2% set minute=%time:~3,2% set sekunde=%time:~6,2% set ODBC=[ODBC Verbindungs Name] set DBUSER=[Datenbank Admin Benutzer] set DBPASS=[Datenbank Passwort] set DBNAME=[Datenbank Name] set BACKUPPFAD='C:\JTL-Backups' osql.exe -D %ODBC% -U %DBUSER% -P %DBPASS% -Q "BACKUP DATABASE %DBNAME% TO DISK = '%BACKUPPFAD%\backup-%datum_y%%datum_m%%datum_d%-%stunde%%minute%%sekunde%.bak'"
Zum Schluss muss nur noch im Aufgabenplaner von Windows eine neue Aufgabe eingerichtet werden, die zur gewünschten Uhrzeit täglich diese Batch-Datei aufruft. Damit ist dann eine automatische Datensicherung eingerichtet.
Variante 2: Datensicherung der JTL-Datenbank per Tool
Natürlich gibt es auch andere Methoden. Mit dem Backup-Tool „SQLBackupAndFTP“ kann man ganz komfortabel seine Datenbank sichern.
In der kostenlosen Variante können zwei Backup-Jobs eingerichtet werden. Das reicht für die meisten Anwendungen völlig aus. Vor allem kann „SQLBackupAndFTP“ pro Sicherungs-Job mit einer MSSQL Instanz verbinden und mehrere Datenbanken sichern.
Das bedeutet, dass mit einer Sicherungs-Aufgabe mehrere JTL Mandanten bzw. SQL-Datenbanken einer Instanz gesichert werden können.
Weiterhin können diese Datensicherungen als ZIP-Archiv gepackt/komprimiert und auf einen entfernten Webserver zur externen Sicherung hochgeladen werden. Wie cool ist das denn bitte?
Ab der Standard-Version können sogar differenzielle Backups erstellt werden. Dabei werden nur die Änderungen zum letzten Voll-Backup gesichert. Dadurch ist man in der Lage, Zwischenbackups in kürzeren Zeitabschnitten zu machen. Zum Beispiel: nachts um 3:00 Uhr ein volles Backup und dann alle 4 Stunden den Zwischenstand. Damit reduziert man im Ernstfall, dass ein nicht so großes Zeitfenster von Daten verloren geht.
SQLBackupAndFTP ist eine hervorragende und einfach zu bedienende Lösung für die Sicherung einer JTL-Datenbank. Und es kann mit ein paar Einschränkungen sogar kostenlos genutzt werden. Hier kannst du dir SQLBackupAndFTP herunterladen.
Achtung: Wenn die Sicherungs-Dateien auf einen Webserver oder Webspace übertragen werden, musst du auf jeden Fall sicherstellen, dass auf dieses Verzeichnis nicht aus dem Internet zugegriffen werden kann. Eine Lösung wehre, das Verzeichnis mit einer htaccess Datei zu schützen.
Fazit
Die Datensicherung der JTL-Wawi sollte nicht unterschätzt werden. Mit dem hier vorgestellten kostenlosen Tool hat man die Möglichkeit ein Datenbank Backup zu automatisieren und sogar kostenlos auf einem externen FTP Speicher zu laden. Damit sind die Sicherungen sogar vor physischen Diebstahl des Servers sicher.
0 Kommentare