Sicherung und Wiederherstellung FAQ: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
KKeine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
{{Übersetzen}}{{Sicherung}}
{{Sicherung}}
==Wie sichere ich einen Kurs?==
==Wie sichere ich einen Kurs?==


Zeile 27: Zeile 27:
*Bewertungsskalen werden nur gesichert, wenn sie in mindestens einer Lernaktivität verwendet werden.
*Bewertungsskalen werden nur gesichert, wenn sie in mindestens einer Lernaktivität verwendet werden.


==Der Prozess endet mit einer Fehlermeldung: "Error: An error occurred deleting old backup data". Was kann ich tun?==
==Der Prozess endet mit einer Fehlermeldung: ''Error: An error occurred deleting old backup data''. Was kann ich tun?==


Es kann passieren, dass das Sichern oder Wiederherstellen eines Kurses mit der Fehlermeldung
Es kann passieren, dass das Sichern oder Wiederherstellen eines Kurses mit der Fehlermeldung
Zeile 43: Zeile 43:
'''Bemerkung zu Punkt 3''': Die Fehlermeldung besagt, dass das Unterverzeichnis ''moodledata/temp/backup'' nicht leer ist und gibt den Pfad zu diesem Unterverzeichnis aus. Wenn Sie per FTP auf dieses Unterverzeichnis zugreifen, können Sie den Inhalt prüfen und löschen. Es kann sein, dass das Unterverzeichnis einfach weitere, leere Verzeichnisse enthält - löschen Sie diese. Oder löschen Sie das gesamte Verzeichnis ''moodledata/temp/backup''. Das kann u.U. etwas länger dauern, aber dafür evtl. mehrere Probleme auf einmal lösen.
'''Bemerkung zu Punkt 3''': Die Fehlermeldung besagt, dass das Unterverzeichnis ''moodledata/temp/backup'' nicht leer ist und gibt den Pfad zu diesem Unterverzeichnis aus. Wenn Sie per FTP auf dieses Unterverzeichnis zugreifen, können Sie den Inhalt prüfen und löschen. Es kann sein, dass das Unterverzeichnis einfach weitere, leere Verzeichnisse enthält - löschen Sie diese. Oder löschen Sie das gesamte Verzeichnis ''moodledata/temp/backup''. Das kann u.U. etwas länger dauern, aber dafür evtl. mehrere Probleme auf einmal lösen.


==Der Prozess endet mit einer Fehlermeldung: "XML error: not well-formed (invalid token) at line YYYY". Was kann ich tun?==
==Der Prozess endet mit einer Fehlermeldung: ''XML error: not well-formed (invalid token) at line YYYY''. Was kann ich tun?==
Dieses Problem kann zu jedem Zeitpunkt beim Wiederherstellungsprozess auftreten. Das passiert, wenn der XML-Parser einen Fehler in der Sicherungsdatei findet, der eine korrekte Ausführung des Prozesses verhindert. Normalerweise wird das durch "unzulässige" Zeichen verursacht, die beim Kopieren von Texten in den Kurs gelangt sind (Steuerzeichen, unzulässige Zeichenfolgen, ...)


This problem can appear at any point in the restore process. It's caused when the XML parser detects something incorrect in the backup file that prevent correct operation. Usually, it's caused by some "illegal" characters added in the original course due to some copy/paste of text containing them (control characters, or invalid sequences...).
Um den Fehler zu beheben, gehen Sie folgendermaßen vor:
* Entpacken Sie die Kurssicherungsdatei in einem leeren Verzeichnis.
* Öffnen Sie die Datei ''moodle.xml'' im Firefox. Der Browser zeigt Ihnen an, an welcher Stelle (exaktes Zeichen) das Problem auftritt.
* Bearbeiten Sie die Datei ''moodle.xml'' in einem UTF8-kompatiblen Text-Editor und löschen Sie die unzulässigen Zeichen. Speichern Sie Ihre Änderungen.
* TPrüfen Sie die Datei ''moodle.xml'' erneut im Firefox. Wiederholen Sie diese Schritte, bis keine Fehler mehr angezeigt werden.
* Zippen Sie den gesamten Verzeichnisinhalt (nicht das Verzeichnis selbst!).
* Stellen Sie den Kurs wieder her. Das sollte nun funktionieren.
* Die Kurswiederherstellung funktioniert immer noch nicht? Siehe nächste Frage.


The best method to handle this issue is:
Außerdem empfehlen wir, das Problem im Moodle-Kurs selbst zu beheben (also dieunzulässigen Zeichen aus den entsprechenden Stellen im Kurs zu löschen). Wenn Sie die Fehler direkt im Kurs beheben, dann gibt es bei der nächsten Kurssicherung keine erneuten Probleme.


* Unzip the problematic backup file under one empty folder.
==Der Prozess endet mit einer Fehlermeldung: ''moodle xml not found at root level of zip file.'' Was kann ich tun?==
Wenn Sie aus einer gezippten Kurssicherungsdatei wiederherstellen, stellen Sie sicher, dass die Datei ''moodle.xml'' im Wurzelverzeichnis liegt. Gehen Sie dazu folgendermaßen vor:
#Entpacken Sie die Kurssicherungsdatei (Beispiel: ''mycourse.mzb'')
#Nach dem Entpacken öffnen Sie das Hauptverzeichnis (Beispiel: ''mycourse'').
#Markieren Sie die (Unter-)Verzeichnisse im Hauptverzeichnis (Beispiel: ''mycourse'') UND die Datei ''moodle.xml'' und erstellen Sie für die markierten Einträge eine ZIP-Datei (Beispiel: ''mycourse_new.mbz'').
#Laden Sie die neue Kurssicherungsdatei in Moodle hoch (Beispiel: ''mycourse_new.zip'') und stellen Sie daraus den Kurs wieder her.


* Open the moodle.xml with Firefox. It will show you where (exact char) the problem is happening.
Wenn die Kurssicherungsdatei korrekt ist, prüfen Sie die Pfade zu externen Dateien (zip, unzip). Fehlerhafte Einstellungen führen ebenfalls zu Fehlermeldungen (siehe diese Diskussion [http://moodle.org/mod/forum/discuss.php?d=140355 moodle.xml not found in root...] und MDL-14812).


* Edit the moodle.xml file with some UTF8-compatible editor and delete such characters. Save changes.
==Der Prozess endet mit einer Fehlermeldung: ''An error occurred while copying the zip file...'' Was kann ich tun?==
Dieses Problem wird wahrscheinlich durch ein Rechteproblem im Zeilverzeichnis verursacht. Kurssicherungsdateien werden nach ''moodledata/XXX/backupdata'' kopiert (wobei XXX die Kurs-ID des gesicherten Kurses ist).


* Test the moodle.xml file again with Firefox until no error was displayed.
Das Problem kann auch auftreten, wenn die Festplatte voll ist.


* Zip everything again (all the folder contents but not the folder itself!).
Um genauere Informationen zu erhalten, aktivieren Sie das Debugging auf der Seite ''Website-Administration > Server > [[Debugging]]'' (wählen Sie die höchste Stufe - DEVELOPER) und prüfen Sie die Fehler-Logdateien des Webserver.


* Restore the course. It should work now.
==Ich erhalte immer noch eine XML-Fehlermeldung. Wie kann ich die verkorkste XML-Datei bereinigen?==
 
In einigen Fällen können die XML-Dateien der Kurssicherung Zeichen enthalten, die zum Abbruch der Kurswiederherstellung führen, sogar nachdem Sie die Schritte in der vorherigen Frage befolgt haben. Probiern Sie dann Folgendes:
* Restore still not working? See the next question.
* Laden Sie das Werkzeug [https://confluence.atlassian.com/jira/files/12079/atlassian-xml-cleaner-0.1.jar Atlassian XML Cleaner Utility] von der Website [http://confluence.atlassian.com/display/JIRA/Removing+invalid+characters+from+XML+backups JIRA Atlassian site] herunter.
 
* Entpacken Sie die problematische Kurssicherungsdateiin einem leeren Verzeichnis. Moodle erzeugt die Kursdateienverzeichnisse und die Datei ''moodle.xml''. Bitte verwenden Sie zum Entpacken die Moodle-Entpacken-Funktionalität.
Also, if possible, it's highly recommended to solve those problems in the original course too from Moodle itself. Once "repaired" there, problems will be out if you create new backup files in the future.
* Benenne Sie die korrupte Datei ''moodle.xml'' um in ''moodle-unclean.xml''.
 
* Wenn Sie keinen Kommandozeilenzugriff auf den Moodle-Server haben, zippen Sie nur die Datei ''moodle-unclean.xml'' mit der Moodle-Zippen-Funktionalität, laden Sie die ZIP-Datei herunter und entpacken Sie sie lokal. Es ist sehr wichtig, die gezippte XML-Datei herunterzuladen, um unerwünschte Zeichen beim Wechsel von einem Betriebssystem zu einem anderen zu vermeiden.
==Der Prozess endet mit einer Fehlermeldung: "moodle xml not found at root level of zip file". Was kann ich tun?==
* Verschieben Sie das heruntergeladene Werkzeug Atlassian XML Cleaner Utility in dasselbe Verzeichnis wie die Datei ''moodle-unclean.xml''.
 
* Führen Sie folgenden Befehl über die Kommandozeile aus:  
If you are restoring from a zip file backup make sure the moodle.xml file is at the root level. To ensure this:
#Unzip the backup file of the course (example: mycourse.zip)
#Once the file is unzipped, open the folder (example: mycourse).
#Select the folders within the mycourse folder AND the moodle.xml file and create a zip of those item (example: mycourse_new.zip)
#Upload the new zip file (example: mycourse_new.zip) and restore from that.
 
If the backup file is guaranteed to be correct, check paths to external files (zip, unzip). Incorrect settings also lead to this error message (see the Using Moodle forum discussion [http://moodle.org/mod/forum/discuss.php?d=140355 moodle.xml not found in root...] and MDL-14812).
 
==Der Prozess endet mit einer Fehlermeldung: "An error occurred while copying the zip file...". Was kann ich tun?==
 
This problem is most likely caused by a permissions issue in the destination directory. Backup files are copied to "XXX/backupdata" under your dataroot directory (where XXX is the id of the course being backed up).
 
The problem could also be caused by a disk being full, though this is far less likely.
 
To obtain precise information about what's happening, you can enable debug messages in ''Administration > Server > [[Debugging]]'' (select the maximum level - DEVELOPER) and/or check the web server error logs.
 
==I Still get an XML error. How can I clean the borked XML file?==
 
In some cases XML backup files may contain characters causing the restore process to abort, even after the steps described in the previous question. In such cases you may want to try the following:
 
* Download the [https://confluence.atlassian.com/jira/files/12079/atlassian-xml-cleaner-0.1.jar Atlassian XML Cleaner Utility] from the [http://confluence.atlassian.com/display/JIRA/Removing+invalid+characters+from+XML+backups JIRA Atlassian site].
 
* Unzip the problematic Moodle backup file under one empty folder. Moodle will create the course file folders as long as the unclean moodle.xml file. Please unzip using the Moodle unzip feature.
 
* Rename the unclean moodle.xml file to moodle-unclean.xml.
 
* If you don't have access to your Moodle server's command prompt, using the Moodle zip feature, zip the moodle-unclean.xml file only, download the zip file locally and unzip it. It is very important to download the xml file in zipped format to avoid unwanted character encoding when transferring from an operating system to another.
 
* Move the downloaded Atlassian XML Cleaner Utility in the same folder where is your moodle-unclean.xml file.
 
* Issue the following command from the command prompt:  


  java -jar atlassian-xml-cleaner-0.1.jar moodle-unclean.xml > moodle.xml
  java -jar atlassian-xml-cleaner-0.1.jar moodle-unclean.xml > moodle.xml


* If you launched the utility on your local computer, zip the just created (and hopefully cleaned) moodle.xml file and upload it in the same place from where you downloaded the moodle-unclean.xml file. Once uploaded, unzip it using the Moodle unzip feature.
* Wenn Sie das Werkzeug auf Ihrem lokalen Rechner gestartet haben, zippen Sie die gerade erzeugte (und hoffentlich saubere) Datei ''moodle.xml'' und laden Sie sie an dieselbe Stelle hoch, von der Sie die Datei ''moodle-unclean.xml'' heruntergeladen haben. Entpacken Sie die Datei mit der Moodle-Entpacken-Funktionalität.
* Zippen Sie alles erneut (den gesamten Verzeichnisinhalt, aber nicht das Verzeichnis selbst!).
* Stellen Sie den Kurs wieder her. Das sollte nun funktionieren.


* Zip everything again (all the folder contents but the folder itself!).
==Was bedeutet die Meldung: ''Einige Ihrer Kurse wurden nicht gesichert.''?==
 
* Restore the course. It should work now.
 
==Was bedeutet die Meldung: "Einige Ihrer Kurse wurden nicht gesichert !!"?==


Es gibt drei mögliche Gründe für diese Meldung:
Es gibt drei mögliche Gründe für diese Meldung:
Zeile 126: Zeile 107:
==Die Wiederherstellung bricht mit folgender Meldung ab: "Der Versuch, das Nutzerkonto XXX wiederherzustellen, wird Probleme bereiten"==
==Die Wiederherstellung bricht mit folgender Meldung ab: "Der Versuch, das Nutzerkonto XXX wiederherzustellen, wird Probleme bereiten"==
Diese Meldung wird angezeigt, wenn
Diese Meldung wird angezeigt, wenn
#die Moodle-Site, in der Sie den Kurs wiederherstellen, ein Nutzerkonto XXX (XXX ist der Anmeldename) hat oft der Administrator,
#die Moodle-Site, in der Sie den Kurs wiederherstellen, ein Nutzerkonto XXX (XXX ist der Anmeldename) hat - oft der Administrator,
#die Kurssicherung einen Nutzer XXX (derselbe Anmeldename) enthält und
#die Kurssicherung einen Nutzer XXX (derselbe Anmeldename) enthält und
#diverse Prüfungen ergeben, dass diese Nutzerkonten XXX in der Zielseite und in der Sicherungsdatei '''nicht''' übereinstimmen.
#diverse Prüfungen ergeben, dass diese Nutzerkonten XXX in der Zielseite und in der Sicherungsdatei '''nicht''' übereinstimmen.


Normalerweise handelt es sich bei dieser Meldung um den Admin-Nutzer (den es in allen Moodle-Installationen gibt).
Wenn die Punkte 1, 2 und 3 gleichzeitig zutreffen, bricht die Kurswiederherstellung ab, um zu verhindern, dass die Aktivitäten von Nutzer/in XXX (Forumsbeiträge, Testversuche, Aufgabeneinreichungen usw. ) mit dem Nutzerkonto XXX der Ziel-Site verknüpft werden.


If 1, 2 and 3 are all true, the restore process stops in order to prevent the backup user xxxx's activities (forum posts, quiz attempts, assignment uploads, etc) from being associated with the target site user xxxx.  
Damit beide Nutzerkonten als übereinstimmend erkannt werden, können Sie Folgendes tun:
a) Entpacken Sie die Kurssicherungsdatei mittels '''unzip''' und ändern Sie in der Datei ''users.xml'' den entsprechenden Nutzer-Datensatz so, dass die Datenfelder <code>email</code> und <firstaccess> mit den entsprechenden Werten der Ziel-Moodle-Site übereinstimmen, in der Sie den Kurs wiederherstellen wollen.


Damit beide Nutzerkonten als übereinstimmend erkannt werden, können Sie folgendes tun:
b) Ändern Sie die Ziel-Moodle-Site und setzen Sie die Datenfelder <code>email</code> und <firstaccess> so, dass sie mit den Daten aus der Datei ''users.xml'' übereinstimmen.
a) Entpacken Sie die Sicherungsdatei mittels '''zip''' und ändern Sie in der Datei ''users.xml'' den entsprechenden Nutzerdatensatz so, dass die Datenfelder <code>email</code> und <firstaccess> mit den entsprechenden Werten der Moodle-Site, in der Sie den Kurs wiederherstellen wollen, übereinstimmen.
'''Oder''':
b) Ändern Sie die Werte im Nutzerdatensatz der Moodle-Site so, dass sie mit den Daten aus der Datei ''users.xml'' übereinstimmen.


c) In Moodle 3.0.3 onwards and for admin user conflicts only, enable the setting 'Allow admin conflict resolution' in ''Site admin > Courses > Backups > General import defaults''. This will result in the username in the backup file being renamed to 'admin_xyz'.
c) Ab Moodle 3.0.3 und nur bei Konflikten mit dem Administrator-Nutzerkonto aktivieren Sie die Einstellung ''Zulassen, dass Administratoren den Konflikt lösen'' auf der Seite ''Website-Administration > Kurse > Sicherung > Standardwerte für den Import''. Das führt dazu, dass der Nutzername in der Kurssicherungsdatei umbenannt wird in ''admin_xyz''.


==Warum funktionieren einige Links im wiederhergestellten Kurs nicht (mehr)?==
==Warum funktionieren einige Links im wiederhergestellten Kurs nicht (mehr)?==
Zeile 146: Zeile 125:
Relative URLs, z.B. <code>/mod/resource/view.php?id=xxx</code>, <code>../resource/view.php?id=xxx</code> oder <code>view.php?id=xxx</code> können nicht korrekt gesichert und wiederhergestellt werden.
Relative URLs, z.B. <code>/mod/resource/view.php?id=xxx</code>, <code>../resource/view.php?id=xxx</code> oder <code>view.php?id=xxx</code> können nicht korrekt gesichert und wiederhergestellt werden.


==Restoring a course results in broken HTML tags. What can I do?==
==Die Kurswiederherstellung führt zu zerstörten HTML-Tags. Was kann ich tun?==
This has been known to be caused by older versions of  libxml2 and PHP - try updating them to the latest versions.
Das wird durch ältere Versionen von libxml2 und PHP verursacht - versuchen Sie, auf die neuesten Versionen zu aktualisieren.
 
==How can I extract original files from a Moodle backup file?==
If you really want to get original files from the backup file (an ".mbz" file) you downloaded (using the backup and restore feature), you can do so in much the same way as is suggested above.  
 
The backup file can actually be opened with any zip/unzip program you can download. Once you open the file, you need to extract:


    The files.xml file.
==Wie kann ich die Originaldateien aus einer Moodle-Kurssicherungsdatei extrahieren?==
    The files directory (folder).
Wenn Sie tatsächlich die Originaldateien aus einer heruntergeladenen Kurssicherungsdatei (eine *.mbz Datei) extrahieren wollen, dann können Sie das auf dieselbe Weise tun wie oben beschrieben.  


Next step would be to open the "files.xml" file in a text editor, and:
Die Kurssicherungsdatei kann mit jedem Zip/Unzip-Programm geöffnet werden. Wenn Sie die Datei geöffnet haben, müssen Sie Folgendes extrahieren:
* die Datei ''files.xml''
* das Verzeichnis ''files''


    Search for the name of each file you want to get.
Im nächsten Schritt öffnen Sie die Datei ''files.xml'' in einem Text-Editor und dann:
    Take note of the value of the corresponding contenthash tag.
*Suchen Sie nach dem Namen der Datei(en), die Sie extrahieren wollen.
    In the "files" folder you extracted, locate the file whose name is the same as the value of the contenthash and which will always be located in a folder whose name corresponds to the two first characters of the file name.
*Notieren Sie sich den Wert des zugehörigen Tags ''contenthash''.
*Im Verzeichnis ''files'' suchen Sie nach der Datei, die denselben Namen wie der ''contenthash'' hat und die stets in einem Unterverzeichnis liegt, dessen Namen mit denselben zwei Buchstaben beginnt wie der Wert von ''contenthash''.


For example, let's assume there is a "backup_courses-120730.mbz" file of which the "files.xml" file and the "files" folder have been extracted. There is a PDF file named "Leadership.pdf" that is required for another purpose.
'''Beispiel''': Nehmen wir an, Sie haben eine Kurssicherungsdatei ''backup_courses-120730.mbz'', aus der die Datei ''files.xml'' und das Verzeichnis ''files'' entpackt wurden, und es gibt eine Datei ''Leadership.pdf'', die für andere Zwecke gebraucht und daher extrahiert werden muss.


Open the files.xml file and:
Öffnen Sie die Datei ''files.xml''.


1. Search for the string "Leadership.pdf", which in this case is found under the following &lt;file id...&gt; group tag:
1. Suchen Sie nach der Zeichenkette ''Leadership.pdf'', die in unserem Beispiel unter dem folgenden &lt;file id...&gt; Tag gefunden wurde:


   &lt;file id="12345"&gt;
   &lt;file id="12345"&gt;
Zeile 178: Zeile 155:
   &lt;/file&gt;
   &lt;/file&gt;


2. Take note of the corresponding contenthash value: fb6cf43a9b2d432403c70a2cb4c340dbb6225631.
2. Notieren Sie sich den Wert von ''contenthash'': fb6cf43a9b2d432403c70a2cb4c340dbb6225631.


3. As the first two characters of the contenthash are "fb", open the "fb" folder inside the "files" directory (which was previously extracted), and there is a file named "fb6cf43a9b...". Rename that file as "Leadership.pdf", and then move it to another location. Repeat this for all the files required, using the correct contenthash value of course.
3. Da die ersten beiden Buchstaben von ''contenthash'' die Buchstaben ''fb'' sind, öffnen Sie im Verzeichnis ''files'' das Unterverzeichnis ''fb''. Dort finden Sie eine Datei ''fb6cf43a9b...". Benennen Sie dies Datei um in ''Leadership.pdf'' und speichern Sie diese Datei an anderer Stelle.


==MySQL dmlwriteexception error when restoring a course==
Wiederholen Sie die Schritte 1-3 für alle Dateien, die Sie benötigen.


If you obtain a  dmlwriteexception error when restoring a course, it is recommended that InnoDB tables are converted to the Barracuda file format. See the section 'Converting InnoDB tables to Barracuda' in [[Administration via command line]] for details of why this is recommended plus information on a tool for converting tables.
==Fehlermeldung: ''MySQL dmlwriteexception error'' bei der Kurswiederherstellung==
Wenn Sie bei der Kurswiederherstellung eine Fehlermeldung ''dmlwriteexception error'' erhalten, dann empfehlen wir, InnoDB-Tabellen in der Moodle-Datenbank in das Barracuda-Dateiformat zu konvertieren. Siehe Abschnitt ''InnoDB-Datenbanktabellen in Barracuda konvertieren'' im Artikel [[Administration über Kommandozeile]] für Details zum Warum und Werkzeuge für die Konvertierung der Tabellen.


==Weitere Fragen?==
==Weitere Fragen?==

Aktuelle Version vom 15. Juli 2019, 13:43 Uhr

Wie sichere ich einen Kurs?

Siehe Kurssicherung und Automatische Kurssicherung.

Wie stelle ich einen Kurs wieder her?

Siehe Kurswiederherstellung.

Wie sichere ich meine gesamte Moodle-Installation?

Siehe Sicherung der Moodle-Installation.

Was sind die Pros und Cons von Kurssicherung bzw. Sicherung der Moodle-Installation?

Die Sicherung der Moodle-Installation wird empfohlen, um eine vollständige Sicherung aller relevanten Daten für den Notfall schnell verfügbar zu haben.

Die Automatische Kurssicherung ist teurer in Bezug auf Zeitaufwand, CPU-Last und Speicherplatzbedarf. Auch die Wiederherstellung Ihrer Moodle-Installation im Notfall dauert länger. Kurssicherungen sind nützlich, um "frische" Kopien von Kursen zu haben, die wiederverwendet werden sollen, sie sollten aber niemals als alleinige Backup-Strategie dienen (es sei denn, Ihr Hosting-Provider erlaubt keine vollständige Sicherung der Moodle-Installation).

Warum sind die automatischen Kurssicherungen viel kleiner als die manuell erstellten Kurssicherungen?

Das hat mit Code-Design zu tun. Aufgrund der Art, wie Dateien in Moodle 2 verwaltet werden, müssen Dateien nicht (mehr) in die Kurssicherung einbezogen werden, wenn Sie Kurse in derselben Moodle-Site wiederherstellen wollen. Deshalb werden Dateien bei der automatischen Kurssicherung ausgeschlossen, was den Speicherplatzbedarf und den Zeitaufwand erheblich reduziert.

Welche Daten sind in einer Kurssicherung nicht enthalten?

Wenn Sie bei einer Kurssicherung alle Optionen auswählen, dann werden fast alle kursspezifischen Daten gesichert. Beachten Sie jedoch, dass folgendes nicht gesichert wird:

  • Testfragen werden nur gesichert, wenn mindestens eine Frage einer Fragenkategorie tatsächlich zu einem Test gehört.
  • Bewertungsskalen werden nur gesichert, wenn sie in mindestens einer Lernaktivität verwendet werden.

Der Prozess endet mit einer Fehlermeldung: Error: An error occurred deleting old backup data. Was kann ich tun?

Es kann passieren, dass das Sichern oder Wiederherstellen eines Kurses mit der Fehlermeldung

 "Error: An error occurred deleting old backup data".

endet, d.h. alte Sicherungsdaten nicht gelöscht werden können. Im einzelnen passiert während des Prozesses der Kurssicherung oder -wiederherstellung folgendes:

  1. Alte Datensätze aus der Tabelle mdl_backup_ids der Moodle-Datenbank löschen: Prüfen Sie, ob diese Tabelle existiert, reparieren Sie ggf. die Tabelle und versuchen Sie es erneut.
  2. Alte Datensätze aus der Tabelle mdl_backup_files der Moodle-Datenbank löschen: Prüfen Sie, ob diese Tabelle existiert, reparieren Sie ggf. die Tabelle und versuchen Sie es erneut.
  3. Alte Dateien im Unterverzeichnis moodledata/temp/backup des Moodle-Datenverzeichnisses löschen: Löschen Sie dieses Unterverzeichnis auf dem Server und versuchen Sie es erneut.

Bemerkung zu den Punkten 1 und 2: Es gibt verschiedene Möglichkeiten, Tabellen in der Moodle-Datenbank zu reparieren, u.a. mit Hilfe von MySQL Admin.

Bemerkung zu Punkt 3: Die Fehlermeldung besagt, dass das Unterverzeichnis moodledata/temp/backup nicht leer ist und gibt den Pfad zu diesem Unterverzeichnis aus. Wenn Sie per FTP auf dieses Unterverzeichnis zugreifen, können Sie den Inhalt prüfen und löschen. Es kann sein, dass das Unterverzeichnis einfach weitere, leere Verzeichnisse enthält - löschen Sie diese. Oder löschen Sie das gesamte Verzeichnis moodledata/temp/backup. Das kann u.U. etwas länger dauern, aber dafür evtl. mehrere Probleme auf einmal lösen.

Der Prozess endet mit einer Fehlermeldung: XML error: not well-formed (invalid token) at line YYYY. Was kann ich tun?

Dieses Problem kann zu jedem Zeitpunkt beim Wiederherstellungsprozess auftreten. Das passiert, wenn der XML-Parser einen Fehler in der Sicherungsdatei findet, der eine korrekte Ausführung des Prozesses verhindert. Normalerweise wird das durch "unzulässige" Zeichen verursacht, die beim Kopieren von Texten in den Kurs gelangt sind (Steuerzeichen, unzulässige Zeichenfolgen, ...)

Um den Fehler zu beheben, gehen Sie folgendermaßen vor:

  • Entpacken Sie die Kurssicherungsdatei in einem leeren Verzeichnis.
  • Öffnen Sie die Datei moodle.xml im Firefox. Der Browser zeigt Ihnen an, an welcher Stelle (exaktes Zeichen) das Problem auftritt.
  • Bearbeiten Sie die Datei moodle.xml in einem UTF8-kompatiblen Text-Editor und löschen Sie die unzulässigen Zeichen. Speichern Sie Ihre Änderungen.
  • TPrüfen Sie die Datei moodle.xml erneut im Firefox. Wiederholen Sie diese Schritte, bis keine Fehler mehr angezeigt werden.
  • Zippen Sie den gesamten Verzeichnisinhalt (nicht das Verzeichnis selbst!).
  • Stellen Sie den Kurs wieder her. Das sollte nun funktionieren.
  • Die Kurswiederherstellung funktioniert immer noch nicht? Siehe nächste Frage.

Außerdem empfehlen wir, das Problem im Moodle-Kurs selbst zu beheben (also dieunzulässigen Zeichen aus den entsprechenden Stellen im Kurs zu löschen). Wenn Sie die Fehler direkt im Kurs beheben, dann gibt es bei der nächsten Kurssicherung keine erneuten Probleme.

Der Prozess endet mit einer Fehlermeldung: moodle xml not found at root level of zip file. Was kann ich tun?

Wenn Sie aus einer gezippten Kurssicherungsdatei wiederherstellen, stellen Sie sicher, dass die Datei moodle.xml im Wurzelverzeichnis liegt. Gehen Sie dazu folgendermaßen vor:

  1. Entpacken Sie die Kurssicherungsdatei (Beispiel: mycourse.mzb)
  2. Nach dem Entpacken öffnen Sie das Hauptverzeichnis (Beispiel: mycourse).
  3. Markieren Sie die (Unter-)Verzeichnisse im Hauptverzeichnis (Beispiel: mycourse) UND die Datei moodle.xml und erstellen Sie für die markierten Einträge eine ZIP-Datei (Beispiel: mycourse_new.mbz).
  4. Laden Sie die neue Kurssicherungsdatei in Moodle hoch (Beispiel: mycourse_new.zip) und stellen Sie daraus den Kurs wieder her.

Wenn die Kurssicherungsdatei korrekt ist, prüfen Sie die Pfade zu externen Dateien (zip, unzip). Fehlerhafte Einstellungen führen ebenfalls zu Fehlermeldungen (siehe diese Diskussion moodle.xml not found in root... und MDL-14812).

Der Prozess endet mit einer Fehlermeldung: An error occurred while copying the zip file... Was kann ich tun?

Dieses Problem wird wahrscheinlich durch ein Rechteproblem im Zeilverzeichnis verursacht. Kurssicherungsdateien werden nach moodledata/XXX/backupdata kopiert (wobei XXX die Kurs-ID des gesicherten Kurses ist).

Das Problem kann auch auftreten, wenn die Festplatte voll ist.

Um genauere Informationen zu erhalten, aktivieren Sie das Debugging auf der Seite Website-Administration > Server > Debugging (wählen Sie die höchste Stufe - DEVELOPER) und prüfen Sie die Fehler-Logdateien des Webserver.

Ich erhalte immer noch eine XML-Fehlermeldung. Wie kann ich die verkorkste XML-Datei bereinigen?

In einigen Fällen können die XML-Dateien der Kurssicherung Zeichen enthalten, die zum Abbruch der Kurswiederherstellung führen, sogar nachdem Sie die Schritte in der vorherigen Frage befolgt haben. Probiern Sie dann Folgendes:

  • Laden Sie das Werkzeug Atlassian XML Cleaner Utility von der Website JIRA Atlassian site herunter.
  • Entpacken Sie die problematische Kurssicherungsdateiin einem leeren Verzeichnis. Moodle erzeugt die Kursdateienverzeichnisse und die Datei moodle.xml. Bitte verwenden Sie zum Entpacken die Moodle-Entpacken-Funktionalität.
  • Benenne Sie die korrupte Datei moodle.xml um in moodle-unclean.xml.
  • Wenn Sie keinen Kommandozeilenzugriff auf den Moodle-Server haben, zippen Sie nur die Datei moodle-unclean.xml mit der Moodle-Zippen-Funktionalität, laden Sie die ZIP-Datei herunter und entpacken Sie sie lokal. Es ist sehr wichtig, die gezippte XML-Datei herunterzuladen, um unerwünschte Zeichen beim Wechsel von einem Betriebssystem zu einem anderen zu vermeiden.
  • Verschieben Sie das heruntergeladene Werkzeug Atlassian XML Cleaner Utility in dasselbe Verzeichnis wie die Datei moodle-unclean.xml.
  • Führen Sie folgenden Befehl über die Kommandozeile aus:
java -jar atlassian-xml-cleaner-0.1.jar moodle-unclean.xml > moodle.xml
  • Wenn Sie das Werkzeug auf Ihrem lokalen Rechner gestartet haben, zippen Sie die gerade erzeugte (und hoffentlich saubere) Datei moodle.xml und laden Sie sie an dieselbe Stelle hoch, von der Sie die Datei moodle-unclean.xml heruntergeladen haben. Entpacken Sie die Datei mit der Moodle-Entpacken-Funktionalität.
  • Zippen Sie alles erneut (den gesamten Verzeichnisinhalt, aber nicht das Verzeichnis selbst!).
  • Stellen Sie den Kurs wieder her. Das sollte nun funktionieren.

Was bedeutet die Meldung: Einige Ihrer Kurse wurden nicht gesichert.?

Es gibt drei mögliche Gründe für diese Meldung:

  1. Fehler - das passiert, wenn bei der automatischen Kurssicherung ein Fehler aufgetreten ist und die Sicherung eines bestimmten Kurses nicht abgeschlossen werden konnte. Das sind "kontrollierte" Fehler, d.h. die automatische Kurssicherung wird einfach mit dem nächsten Kurs fortgesetzt.
  2. Nicht abgeschlossen - das passiert, wenn die Kurssicherung aus ungeklärten Gründen abbricht. Wenn der Cron-Job das nächste Mal ausgeführt wird, erkennt er, dass die letzte automatische Kurssicherung fehlgeschlagen ist und setzt die Sicherung fort, wobei der problematische Kurs übersprungen wird. Eine mögliche Lösung besteht darin, die Apache/PHP Limits zu erhöhen (memory, time of execution...). Wenn Sie einen Blick in Ihre Log-Dateien werfen, können Sie prüfen, ob das Problem in ganz bestimmten Zeitintervallen auftritt (das deutet darauf hin, dass die PHP-Einstellung max_execution_time zu niedrig gesetzt ist).
  3. Übersprungen - das passiert, wennn ein Kurs für Teilnehmer nicht verfügbar ist und im letzten Monat (31 Tage lang) nicht geändert wurde. Das ist keine Fehlersituation, sondern entspricht der normalen Moodle-Funktionalität, um insbesondere bei großen Installationen mit vielen alten, nicht verfügbaren Kursen die Prozessdauer zu verkürzen.

Warum werden einige Kurse bei der automatischen Kurssicherung übersprungen?

Automatische Kurssicherungen: Einstellungen Überspringen

Die Routinen der Automatischen Kurssicherung von Moodle werden angewiesen, Kurse automatisch zu überspringen, basierend auf drei Einstellungen unter dem Menupunkt Website-Administration (oder im Block Einstellungen) > Website-Administration) > Kurse > Sicherung > Automatische Sicherung. Die Moodle-Administratoren verwenden diese Einstellungen, um festzulegen, ob die automatische Kurssicherung Verborgene Kurse überspringen (Standard: 'Ja'), Unveränderte Kurse überspringen (Standard: '30 Tage'), und Seit der letzten Sicherung unveränderte Kurse überspringen (Standard: 'Nein') soll. Bei der automatischen Kurssicherung werden all jene Kurse übersprungen, die ein Kriterium erfüllen.

Warum bricht die Kurswiederherstellung ab?

Wenn Sie versuchen, einen Kurs in einer älteren Moodle-Version wiederherzustellen als der, in der der Kurs gesichert wurde, dann kann dies zu Fehlern und zum Abbruch der Kurswiederherstellung führen. Achten Sie also darauf, dass die Moodle-Version bei der Wiederherstellung dieselbe ist wie bei der Sicherung oder neuer als die Sicherung.

Wenn die Wiederherstellung unerwartet und ohne Fehlermeldung abbricht, dann aktivieren Sie das Debugging und versuchen Sie es erneut. Die dann angezeigten Fehlermeldungen können bei der Problemlösung helfen - wenden sie sich damit an die Experten in den jeweiligen Foren des Kurses Using Moodle auf moodle.org.

Die Wiederherstellung bricht mit folgender Meldung ab: "Der Versuch, das Nutzerkonto XXX wiederherzustellen, wird Probleme bereiten"

Diese Meldung wird angezeigt, wenn

  1. die Moodle-Site, in der Sie den Kurs wiederherstellen, ein Nutzerkonto XXX (XXX ist der Anmeldename) hat - oft der Administrator,
  2. die Kurssicherung einen Nutzer XXX (derselbe Anmeldename) enthält und
  3. diverse Prüfungen ergeben, dass diese Nutzerkonten XXX in der Zielseite und in der Sicherungsdatei nicht übereinstimmen.

Wenn die Punkte 1, 2 und 3 gleichzeitig zutreffen, bricht die Kurswiederherstellung ab, um zu verhindern, dass die Aktivitäten von Nutzer/in XXX (Forumsbeiträge, Testversuche, Aufgabeneinreichungen usw. ) mit dem Nutzerkonto XXX der Ziel-Site verknüpft werden.

Damit beide Nutzerkonten als übereinstimmend erkannt werden, können Sie Folgendes tun: a) Entpacken Sie die Kurssicherungsdatei mittels unzip und ändern Sie in der Datei users.xml den entsprechenden Nutzer-Datensatz so, dass die Datenfelder email und <firstaccess> mit den entsprechenden Werten der Ziel-Moodle-Site übereinstimmen, in der Sie den Kurs wiederherstellen wollen.

b) Ändern Sie die Ziel-Moodle-Site und setzen Sie die Datenfelder email und <firstaccess> so, dass sie mit den Daten aus der Datei users.xml übereinstimmen.

c) Ab Moodle 3.0.3 und nur bei Konflikten mit dem Administrator-Nutzerkonto aktivieren Sie die Einstellung Zulassen, dass Administratoren den Konflikt lösen auf der Seite Website-Administration > Kurse > Sicherung > Standardwerte für den Import. Das führt dazu, dass der Nutzername in der Kurssicherungsdatei umbenannt wird in admin_xyz.

Warum funktionieren einige Links im wiederhergestellten Kurs nicht (mehr)?

Damit Links bei der Kurssicherung- und wiederherstellung korrekt dargestellt werden, müssen die Links als vollständige URLs angegeben sein, z.B. http://site.com/mod/resource/view.php?id=xxx.

Relative URLs, z.B. /mod/resource/view.php?id=xxx, ../resource/view.php?id=xxx oder view.php?id=xxx können nicht korrekt gesichert und wiederhergestellt werden.

Die Kurswiederherstellung führt zu zerstörten HTML-Tags. Was kann ich tun?

Das wird durch ältere Versionen von libxml2 und PHP verursacht - versuchen Sie, auf die neuesten Versionen zu aktualisieren.

Wie kann ich die Originaldateien aus einer Moodle-Kurssicherungsdatei extrahieren?

Wenn Sie tatsächlich die Originaldateien aus einer heruntergeladenen Kurssicherungsdatei (eine *.mbz Datei) extrahieren wollen, dann können Sie das auf dieselbe Weise tun wie oben beschrieben.

Die Kurssicherungsdatei kann mit jedem Zip/Unzip-Programm geöffnet werden. Wenn Sie die Datei geöffnet haben, müssen Sie Folgendes extrahieren:

  • die Datei files.xml
  • das Verzeichnis files

Im nächsten Schritt öffnen Sie die Datei files.xml in einem Text-Editor und dann:

  • Suchen Sie nach dem Namen der Datei(en), die Sie extrahieren wollen.
  • Notieren Sie sich den Wert des zugehörigen Tags contenthash.
  • Im Verzeichnis files suchen Sie nach der Datei, die denselben Namen wie der contenthash hat und die stets in einem Unterverzeichnis liegt, dessen Namen mit denselben zwei Buchstaben beginnt wie der Wert von contenthash.

Beispiel: Nehmen wir an, Sie haben eine Kurssicherungsdatei backup_courses-120730.mbz, aus der die Datei files.xml und das Verzeichnis files entpackt wurden, und es gibt eine Datei Leadership.pdf, die für andere Zwecke gebraucht und daher extrahiert werden muss.

Öffnen Sie die Datei files.xml.

1. Suchen Sie nach der Zeichenkette Leadership.pdf, die in unserem Beispiel unter dem folgenden <file id...> Tag gefunden wurde:

 <file id="12345">
 <contenthash>fb6cf43a9b2d432403c70a2cb4c340dbb6225631</contenthash>
               :
 <filename>Leadership.pdf</filename>
               :
 <license>allrightsreserved</license>
 <sortorder>1</sortorder>
 </file>

2. Notieren Sie sich den Wert von contenthash: fb6cf43a9b2d432403c70a2cb4c340dbb6225631.

3. Da die ersten beiden Buchstaben von contenthash die Buchstaben fb sind, öffnen Sie im Verzeichnis files das Unterverzeichnis fb. Dort finden Sie eine Datei fb6cf43a9b...". Benennen Sie dies Datei um in Leadership.pdf und speichern Sie diese Datei an anderer Stelle.

Wiederholen Sie die Schritte 1-3 für alle Dateien, die Sie benötigen.

Fehlermeldung: MySQL dmlwriteexception error bei der Kurswiederherstellung

Wenn Sie bei der Kurswiederherstellung eine Fehlermeldung dmlwriteexception error erhalten, dann empfehlen wir, InnoDB-Tabellen in der Moodle-Datenbank in das Barracuda-Dateiformat zu konvertieren. Siehe Abschnitt InnoDB-Datenbanktabellen in Barracuda konvertieren im Artikel Administration über Kommandozeile für Details zum Warum und Werkzeuge für die Konvertierung der Tabellen.

Weitere Fragen?

Schreiben Sie bitte in das Backup and Restore-Forum im Kurs Using Moodle auf moodle.org.

Siehe auch

Diskussionsbeiträge im Kurs Using Moodle auf moodle.org: