Inhaltsverzeichnis

    Datenbank-Backups von JTL-Shop wieder einspielen

    Hinweis: Diese Dokumentation bezieht sich auf JTL-Shop 4. Die Dokumentation für JTL-Shop 5 befindet sich aktuell unter JTL-Shop.

    Ihre Aufgabe/Ausgangslage

    Sie haben ein Backup für JTL-Shop, beispielsweise vor einem Update erstellt. Da es zu einem Fehler gekommen ist, möchten Sie nun das Backup wieder einspielen.
    Wichtig: Lesen Sie bitte vorher die Anleitung Datenbank-Backups erstellen.
    Wichtig: Wenn Sie ein Backup einspielen müssen, das vor einem Update (oder Updateversuch) erstellt wurde, muss folgendes beachtet werden: Bei einem Update werden häufig neue Tabellen angelegt. Diese gab es zum Backup-Erstell-Zeitpunkt natürlich noch nicht und können deswegen in diesem auch nicht berücksichtigt werden! In dem Fall ist der allererste Schritt vor dem Einspielen eines Backups: Alle Tabellen löschen! Die Datenbank muss also leer sein, bevor das Backup eingespielt wird. Achtung: Wenn dieselbe Datenbank auch noch von anderer Software genutzt wird, beispielsweise von WordPress, Piwik oder anderem (JTL-Shop Plugins sind damit also nicht gemeint), dürfen deren Tabellen natürlich nicht gelöscht werden.

    Möglichkeit 1: Backup ist aktuell

    Wichtiger Hinweis: Ein Backup ist nicht unbedingt aktuell, nur weil es vor kurzem erstellt wurde! Bitte unbedingt auch den Punkt „Backup ist nicht aktuell“ lesen! Wenn das Backup gemäß der Beschreibung unter „Datenbank-Backups erstellen“ gemacht wurde, müssen Sie nichts weiter beachten.
    1. Gehen Sie nun vor, wie unter Backup einspielen beschrieben.

    Möglichkeit 2: Backup ist nicht aktuell

    Wenn das Backup nicht aktuell ist, sind zusätzliche Schritte notwendig. Ein Backup gilt als nicht aktuell, wenn:

    • Änderungen im Backend seit dem Backup-Zeitpunkt vorgenommen wurden.
    • Mit JTL-Shop über JTL-Wawi nach dem Backup-Zeitpunkt abgeglichen wurde.
    • JTL-Shop nach dem Backup-Zeitpunkt nicht mehr im Wartungsmodus war (also z. B. auch Bestellungen getätigt werden konnten).

    Änderungen im Backend

    Falls Sie nach dem Backup Änderungen im Backend von JTL-Shop vorgenommen haben, gehen Sie folgendermaßen vor:

    1. Nehmen Sie alle Änderungen, die seit dem Zeitpunkt des Backups vorgenommen haben, nach Einspielen des Backups erneut vor.
    2. Prüfen Sie abhängig von den vorgenommenen Änderungen, ob noch individuelle weitere Maßnahmen erforderlich sind. Sollte es sich um Standardfeatures des JTL-Shop handeln, können Sie gerne bei uns via Ticket im JTL-Kundencenter um Unterstützung bitten. Bei zusätzlichen Features (z. B. Plugins) wenden Sie sich bitte an den jeweiligen Entwickler.

    Abgleich nach dem Backup mit JTL-Wawi

    Jede Änderung in JTL-Wawi und JTL-Shop, die für das jeweils andere System relevant ist, wird automatisch beim Abgleich synchronisiert. Wenn diese Änderung einmal übertragen wurde, geht das jeweilige System davon aus, dass das andere System die Änderung kennt. Wenn nun in JTL-Shop ein Backup eingespielt wird, bei dem eine über einen Abgleich übertragene Änderung noch nicht erfolgt ist, wissen davon weder JTL-Wawi noch JTL-Shop.

    Wichtiger Hinweis: Die nachfolgenden Schritte sind davon ausgehend, dass JTL-Shop sich noch im Wartungsmodus befindet. Ist das nicht der Fall, beachten Sie bitte zusätzlich den Punkt „JTL-Shop war nach Backup nicht mehr im Wartungsmodus“, bevor Sie einen der nachfolgenden Schritte ausführen.
    1. Sämtliche Änderungen am Artikelstamm die seit Backup-Zeitpunkt abgeglichen wurden, sind in JTL-Shop nach Einspielen des Backups nicht mehr vorhanden (Die Datenbanken sind asynchron).

    Das bedeutet, dass Artikel, Kategorien, Merkmale, usw. ggf. nicht aktuell sind. Um das zu korrigieren, gibt es im Grunde nur zwei Möglichkeiten:

    Möglichkeit 1 (nicht empfohlen, in der Regel höchstens bei nicht all zu alten Backups eine Option): Sie wissen exakt, was verändert wurde bzw. nicht aktuell ist. Stoßen Sie manuell diese Objekte erneut für den Abgleich an.

    Möglichkeit 2 (empfohlen): Sie übertragen alle relevanten Daten über die Komplettabgleich-Einstellungen neu zum JTL-Shop.

    Dabei haben Sie die Freiheit, einzustellen, dass z. B. keine Kategorien gesendet werden, wenn Sie wissen, dass seit Backup-Erstellzeitpunkt keine Kategorien verändert wurden, aber eben z. B. nicht mehr nachverfolgen können, an welchen Artikeln etwas verändert wurde (das betrifft auch Lagerbestände). Sie können also alles außer den Kategorien neu senden, oder nur alle Artikel und sonst nichts.

    In den meisten Fällen wird aber eher der Komplettabgleich angebracht sein, denn JTL-Shop hat gegebenenfalls ja auch noch gelöschte Daten. Wenn Sie zum Beispiel Artikel gelöscht haben, nachdem das Backup erstellt wurde, dann sind diese nach Einspielen des Backups auch wieder in Ihrem JTL-Shop.

    Wenn Sie wissen, welche das waren und diese in JTL-Wawi noch inaktiv existieren, können Sie diese wieder aktivieren und nach dem Komplettabgleich wieder deaktivieren um sie erneut zu löschen.

    Wenn die Artikel/Kategorien oder anderes aber in JTL-Wawi nicht mehr existieren, dann können Sie diese für den JTL-Shop nicht erneut deaktivieren/zur Löschung anstoßen.

    In dem Fall hilft es nur, vor dem Komplettabgleich (und dann muss wirklich alles gesendet werden) den JTL-Shop im Bezug auf Artikeldaten zurückzusetzen, also alle Artikeldaten zu löschen.

    Wie das funktioniert, lesen Sie unter folgender Beschreibung.

    1. Auch Änderungen an Kundendaten und/oder Bestellungen, wie zum Beispiel Zahlungs- und Versandstatus, wurden nach dem Einspielen eines Backups nie zu Ihrem JTL-Shop gesendet. Hier gibt es leider keine „Automatik“ um dies zu korrigieren und es gibt Nachteile, wenn man es manuell macht. Sie müssen selbst entscheiden.

    Kundendaten: Wenn Sie wissen, welche Kundendaten verändert wurden, können Sie in JTL-Wawi nochmals auf In allen Onlineshops aktualisieren klicken (siehe Daten in Onlineshops aktualisieren) oder die Kundengruppen hin und her wechseln, um diese zu aktualisieren und ggf. Guthaben erneut versenden (siehe Onlineshop-Guthaben eines Kunden erhöhen).

    Bestelldaten: Wenn Sie wissen, welche Bestellungen verändert wurden, können Sie in diesen die Option Bestellung im Webshop aktualisieren aktivieren.

    Wichtiger Hinweis: Wenn Sie Kunden- oder Bestelldaten auf diese Weise im Shop erneut aktualisieren, werden ggf. auch erneute E-Mails an die Kunden versendet.

    JTL-Shop war nach Backup nicht mehr im Wartungsmodus

    In diesem Fall ist es möglich, dass es neue Kundenkonten und/oder Bestellungen in JTL-Shop gab, die in JTL-Wawi auch noch existieren, jedoch eben nicht mehr in JTL-Shop. Es ist leider nicht möglich, die Bestellungen aus JTL-Wawi wieder in den JTL-Shop zu übertragen.

    Nehmen Sie folgende Schritte vor, wenn JTL-Shop nach dem Backup-Zeitpunkt nicht mehr im Wartungsmodus war:

    Wichtiger Hinweis: Ohne diese notwendigen Schritte, wird es zu Problemen bei neuen Bestellungen kommen!
    1. Versetzen Sie JTL-Shop in den Wartungsmodus. Unter keinen Umständen dürfen Kunden im JTL-Shop tätig werden, bevor die nachfolgenden Schritte durchgeführt wurden.

    Bestellnummern

    Die Bestellnummern von JTL-Shop sind nicht mehr aktuell. Prüfen Sie in JTL-Wawi bei der aktuellsten Bestellung aus diesem Shop die Ext. Auftragsnummer (Shop-Bestellnummer) und vergleichen Sie diese mit der aktuellsten in JTL-Shop unter System > Statistiken > Bestellhistorie. Die Differenz (also die Anzahl der fehlenden Bestellungen) müssen Sie

    • entweder unter Storefront > Kaufabwicklung > Warenkorb / Kaufabwicklung bei der Einstellung Bestellnummer Anfangsnummer addieren
    • oder in der Datenbank in der Tabelle tnummern bei nArt=1 den Wert nNummer darum erhöhen.

    Dadurch ist sichergestellt, dass die nächste Bestellnummer, die vergeben wird, fortlaufend zur letzten in JTL-Wawi ist.

    Interne Zähler

    Es gibt interne Zähler (Datenbanktabellen-Schlüssel), welche ebenfalls nicht aktuell sind und bei neuen Bestellungen/Kundenkonten einen Konflikt bei der Übernahme in JTL-Wawi erzeugen würden. Auch wäre es möglich, dass sich Kundenkonten verschiedener Kunden vermischen.

    Diese internen Zähler werden automatisch beim Abgleich aktualisiert. Das bedeutet: Wenn Sie alle anderen nötigen Schritte durchgeführt haben, wird der erste Abgleich diese internen Schlüssel in JTL-Shop entsprechend erhöhen. Wichtig ist also nur, dass wenigstens ein Abgleich gemacht wird, bevor Sie den Wartungsmodus deaktivieren und Kunden sich registrieren und/oder bestellen.

    Hinweis: Wenn es hinterher dazu kommt, dass bei Ihnen Bestellungen in JTL-Wawi unter Onlineshop > Bestellungen nicht übernommen werden können, lesen Sie bitte „Bestellungen können nicht übernommen werden“.

    Backup einspielen

    Wichtiger Hinweis zum Einspielen von Backups älterer Versionen von JTL-Shop: Wenn Sie ein Backup einer älteren Shop-Version einspielen, zum Beispiel nach einem Updateversuch auf 4.06 wieder das Backup von 4.05, dann befinden sich die Update-Dateien ggf. noch im Ordner update/migrations! Das wäre der Fall, wenn die Backup-Dateien einfach nur zurück überspielt wurden. Zumindest dieser Ordner sollte geleert und nur mit den originalen aus dem 4.05 Backup wieder aufgefüllt werden.
    Ganz wichtig hierbei ist auch noch, dass bei einem Update neue Tabellen angelegt werden. Diese werden in einem Backup der älteren Version nicht berücksichtigt. Das Einspielen funktioniert dann zwar, aber die neuen Tabellen existieren weiterhin. Dies würde beim nächsten Updateversuch zu Problemen in Form von Fehlermeldungen und festhängendem Update führen. Bevor ein Backup eingespielt wird, müssen Sie also dafür sorgen, dass die Datenbank leer ist! Bei Methode 1 muss dies manuell geschehen, in dem direkt vor Einspielung des Backups alle Tabellen in PHPMyAdmin markiert werden (mehrere Seiten beachten) und beim „markierte:“-Dropdown-Menü dann Löschen gewählt wird. Bei Methode 2 geschieht dies durch die Option Datenbank neu erstellen / Recreate the database.

    Ansonsten wird man nach Einspielen der älteren Shop-Datenbank im Backend aufgefordert die neuen Datenbank-Updates auszuführen, obwohl man eigentlich schon auf dem richtigen Stand ist. Führt man die Migrationen aus, hat man fälschlicherweise eine neuere Datenbank-Version, die nicht zu den Shopdateien passt.

    Methode1: Backup einspielen via PHPMyAdmin

    In der Regel sollten Sie das Einspielen von Backups einem Systemadministratoren oder Ihrem Hoster überlassen. Sollten Sie dennoch ein Backup selbst einspielen (müssen), erklären wir hier kurz zwei mögliche Methoden. Methode 1 ist dabeibei fast allen Hostingprovidern gegeben, während Methode 2. als Hostingkunde bei JTL möglich ist, aber nicht unbedingt bei anderen Anbietern. Normalerweise haben diese dann andere Methoden, welche bei dem Anbieter genauer erfragt werden können.

    Wir gehen bei der Beschreibung nicht genauer auf PHPMyAdmin an sich ein. Wenden Sie sich im Zweifelsfall an einen Experten oder greifen Sie auf online verfügbares Schulungsmaterial zurück.

    Wichtiger Hinweis: Aufgrund von Serverkonfiguration und Skriptlaufzeiten kann es bei großen Datenbanken dazu kommen, dass es via PHPMyAdmin Probleme gibt und das Backup nicht korrekt eingespielt werden kann. Wenden Sie sich dann zum Einspielen des Backups bitte an Ihren Hoster! Spätestens ab einer Datenbankgröße von mehr als 200MB ist bei dieser Methode mit unbrauchbaren Ergebnissen zu rechnen.
    1. Öffnen Sie PHPMyAdmin und klicken Sie im Bereich Datenbanken auf die Datenbank, für die Sie ein Backup einspielen möchten.
    2. Beachten Sie wie im Eingangs-Hinweis beschrieben, dass vor dem nächsten Punkt keine Tabellen mehr existieren dürfen. Markieren Sie alle Tabellen (mehrere Seiten beachten) und wählen Sie dann beim „markierte:“-Dropdown-Menü Löschen.
    3. Wechseln Sie in die Registerkarte Importieren.
    4. Beim Importieren über PHPMyAdmin gibt es nicht all zu viel zu beachten. Klicken Sie auf Durchsuchen wählen Sie von Ihrer lokalen Festplatte die zu importierende Datei.
    Wichtiger Hinweis: Die Einstellung Zeichenkodierung der Datei muss so eingestellt sein, wie das Backup erstellt wurde. Standardmäßig steht diese Einstellung in PHPMyAdmin immer auf UTF-8. Das ist auch die korrekte Einstellung, obwohl JTL-Shop eigentlich kein UTF-8 nutzt. Es kommt hier nur darauf an, wie exportiert wurde. Wurde mit der Zeichencodierung UTF-8 exportiert, muss auch mit dieser importiert werden.
    1. Lassen Sie alle anderen Einstellungen wie voreingestellt und klicken Sie auf OK.

    Methode 2: Backup einspielen via Plesk

    Mehr Infos zu Plesk und wie Sie als Hostingkunde bei JTL darauf zugreifen, finden Sie unter JTL-Shop-Hosting verwalten.

    Wichtiger Hinweis: Diese Methode funktioniert nur mit Backups, die von der selben Datenbank mit der Methode Abbild exportieren erstellt wurden! Sollten Sie ein Backup einspielen wollen, welches von einem anderen Server/Datenbank stammt, löschen Sie bitte zuvor manuell via PHPMyAdmin alle Tabellen, sodass in eine leere Datenbank exportiert wird. Die Funktion Datenbank neu erstellen/Recreate the database greift hier nicht!
    1. Loggen Sie sich in Ihren Plesk-Account ein.
    2. Klicken Sie auf Datenbanken > Abbild importieren.
    3. Geben Sie das Quellverzeichnis an. Dieses variiert je nach dem, wo Sie Ihr Backup abgelegt haben.
    4. Wichtig: Der Haken bei Recreate the database bzw. Datenbank neu erstellen muss aktiviert sein. Dies ist dann relevant, wenn seit Erstellung des einzuspielenden Backups neue Tabellen angelegt wurden, z.B. durch Updates vom Shop oder Plugins. Funktioniert nur bei Backups der selben Datenbank, die via „Abbild exportieren“ erstellt wurden!
    5. Klicken Sie auf OK, um das Backup einzuspielen.

    Problembehandlung

    Bestellungen können nicht übernommen werden

    Manchmal kann es passieren, dass Bestellungen nach dem Einspielen des Backups nicht richtig übernommen werden und in JTL-Wawi unter Onlineshop > Bestellungen festhängen. Die Fehlermeldung lautet dann in etwa:

    1. Überprüfen Sie, ob die Bestellungen alt oder neu sind.

    Alte Bestellungen: Bestellungen mit gleichen Kunden, gleichen Positionen und gleichen Bestellnummern existieren in JTL-Wawi bereits als Aufträge.

    Lösung vor JTL-Wawi 1.3: Löschen Sie diese Bestellungen nicht unter Onlineshop > Bestellungen. Dadurch würden sie auch in JTL-Shop gelöscht.

    Das Löschen dieser doppelt abgeholten Bestellungen ist nur direkt über die Datenbank von JTL-Wawi möglich. Bitte wenden Sie sich via Ticket an den Support von JTL-Wawi.

    Lösung ab JTL-Wawi 1.3: Markieren Sie die betroffenen Bestellungen und klicken Sie auf die Schaltfläche Löschen nur in JTL-Wawi. Die Aufträge werden nun nur aus JTL-Wawi entfernt.

    Neue Bestellungen: Es handelt sich um Bestellungen mit anderen Kunden, anderen Positionen und gleichen oder anderen Bestellnummern

    Bitte löschen Sie diese Bestellungen nicht unter Onlineshop > Bestellungen. Dadurch würden sie auch in JTL-Shop gelöscht und da sie in JTL-Wawi nicht existieren, sind sie dann endgültig weg.

    Die korrekte Übernahme dieser Bestellungen ist nur nach direktem Eingriff in die Datenbanken von JTL-Shop und JTL-Wawi möglich. Bitte wenden Sie sich via Ticket an den Support von JTL-Shop.

    Besonderheiten für JTL-Shop, wenn in JTL-Wawi ein Backup eingespielt wird

    Aus verschiedenen Gründen kann es dazu kommen, dass in JTL-Wawi ein Backup eingespielt werden muss.

    Grundsätzlich muss hier zwischen zwei Fällen unterschieden werden. Entweder ist das Backup aktuell oder nicht aktuell.

    Backup ist aktuell

    Wichtiger Hinweis: Ein Backup ist nicht unbedingt aktuell, nur weil es vor kurzem erstellt wurde. Wichtig ist, dass keiner der unter „Backup ist nicht aktuell“ aufgeführten Punkte zutrifft.

    Wenn das Backup aktuell ist, muss im Bezug auf den JTL-Shop nichts weiter beachtet werden.

    Backup ist nicht aktuell

    Wenn das Backup nicht aktuell ist, sind zusätzliche Schritte notwendig. Ein Backup von JTL-Wawi gilt für den JTL-Shop als nicht aktuell, wenn seit dem Erstellzeitpunkts des Backups JTL-Wawi mit JTL-Shop abgeglichen wurde.

    Beachten Sie dann folgende Punkte:

    Bestellungen: Bestellungen sind in einem solchen Fall der kritischste Punkt. Prüfen Sie in JTL-Wawi bei der aktuellsten Bestellung aus diesem Shop die Ext. Auftragsnummer (Shop-Bestellnummer) und vergleichen Sie diese mit denen im JTL-Shop unter System > Statistiken > Bestellhistorie. Alle Bestellungen, die in JTL-Wawi fehlen, können Sie hier in der Checkbox markieren und dann unten erneut zur Abholung markieren. So bekommen Sie die Bestellungen wieder in JTL-Wawi.

    Wichtiger Hinweis: Die Bestellungen kommen natürlich unbearbeitet wieder in JTL-Wawi an. Sie müssen leider manuell prüfen, welche der Bestellungen auf welche Weise tatsächlich noch bearbeitet werden müssen und welche in Wirklichkeit schon komplett fertig sind. Achten Sie auch darauf, dass hierbei erneute E-Mails an Kunden versendet werden könnten.

    Artikelstammdaten: Wenn das Backup nicht aktuell ist, bedeutet das, dass die Artikelstammdaten in JTL-Shop aktueller sind, als in JTL-Wawi. Allerdings sind die Daten auch asynchron und JTL-Wawi ist federführend. Das bedeutet, dass die alten Daten (z. B. Artikelbestände und Preise) sobald diese zum Shop übertragen werden (Artikel wurde verändert, Komplettabgleich angestoßen, etc.) die aktuelleren Daten überschreiben werden. Dagegen können Sie nur eins tun: Die Daten in JTL-Wawi wieder aktualisieren.