Hinweis: Sie sind auf den Seiten der Moodle 1.9 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: Sicherung und Wiederherstellung FAQ.

Sicherung und Wiederherstellung FAQ: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 30: Zeile 30:
*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.


==The process ends with: "Error: An error occurred deleting old backup data". What should I do?==
==Der Prozess endet mit einer Fehlermeldung. Was kann ich tun?==


This part of the backup (or restore) procedure tries to delete old info, used in previous executions, performing the following tasks:
Es kann passieren, dass das Sichern oder Wiederherstellen eines Kurses mit der Fehlermeldung


# Delete old records from "backup_ids" table: Check the table exists, repair it and try again.
  "Error: An error occurred deleting old backup data".
# Delete old records from "backup_files" table: Check the table exists, repair it and try again.
# Delete old files from "moodledata/temp/backup": Delete the dir completely and try again.


[[Image:BackupProblem.gif|thumb|Backup error message]]For points 1 & 2, there are various ways of repairing tables, including using MySQL Admin.
endet, d.h. alte Sicherungsdaten nicht gelöscht werden können. Im einzelnen passiert während des Prozesses der Kurssicherung oder -wiederherstellung folgendes:
For point 3 see below:


The error message states that the "directory not empty" and gives the path to that directory. If you go there with an FTP program you can see what is there and clean up. It could be just some empty subfolders that were leftover. Deleting these has been able to help. One can also delete the dir "moodledata/temp/backup" completely. That can take a bit longer but may solve several problems at once.
# 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.
# 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.
# Alte Dateien im Unterverzeichnis ''moodledata/temp/backup'' des [[Moodle-Datenverzeichnis]]ses löschen: Löschen Sie dieses Unterverzeichnis auf dem Server und versuchen Sie es erneut.  


==The process ends with: "XML error: not well-formed (invalid token) at line YYYY". What can I do?==
[[Image:BackupProblem.gif|thumb|Fehlermeldung]]


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...).
'''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.


The best method to handle this issue is:
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.


* Unzip the problematic backup file under one empty folder.
==Die Kurswiederherstellung endet mit einem XML-Fehler. Was kann ich tun?==


* Open the moodle.xml with Firefox. It will show you where (exact char) the problem is happening.
Dieses Problem kann zu jedem Zeitpunkt des Wiederherstellungsprozesses auftreten, und zwar dann, wenn der XML-Parser einen Fehler in der Sicherungsdatei findet. Normalerweise werden solche Fehler durch "falsche" Zeichen verursacht, die durch Copy&Paste in den Kurs geraten sind (z.B. Steuerzeichen o.ä.).


* Edit the moodle.xml file with some UTF8-compatible editor and delete such characters. Save changes.
Die beste Vorgehensweise zur Behebung eines solchen Fehlers ist folgende:


* Test the moodle.xml file again with Firefox until no error was displayed.
* Entpacken Sie die korrupte Sicherungsdatei in einem leeren Verzeichnis.
* Öffnen Sie die Datei ''moodle.xml'' im Firefox. Im Browser sollten die "falschen" Zeichen sichtbar werden.
* Öffnen Sie die Datei ''moodle.xml'' in einem UTF8-kompatiblen Editor und löschen Sie diese Zeichen. Speichern Sie die Änderungen.
*Prüfen Sie die Datei ''moodle.xml'' erneut im Firefox und wiederholen Sie diese Schritte, bis keine Fehler mehr angezeigt werden.
* Zippen Sie das Verzeichnis wieder (den ganzen Inhalt, aber nicht das Verzeichnis selbst!).
*Stellen Sie nun den Kurs wieder her - das sollte jetzt funktionieren. Falls nicht, lesen Sie die Frage und zugehörige Antwort im nächsten Abschnitt.


* Zip everything again (all the folder contents but not the folder itself!).
Außerdem empfehlen wir, den Fehler auch im Original-Moodlekurs zu beheben - damit der Fehler bei einer erneuten Sicherung und Wiederherstellung dieses Kurses nicht wieder auftritt.


* Restore the course. It should work now.
==Ich bekomme immer noch eine XML_Fehlermeldung. Wie kann ich die korrupte XML-Datei reparieren?==


* Restore still not working? See the next question.
In manchen Fällen kann die XML-Datei einer Kurssicherung Zeichen enthalten, die zum Abbruch des Wiederherstellungsprozesses führen, selbst dann, wenn Sie die Schritte im vorigen Abschnitt durchgeführt haben. In solchen Situationen können Sie folgendes versuchen:


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.
* Laden Sie sich das Tool [http://repository.atlassian.com/atlassian-xml-cleaner/jars/atlassian-xml-cleaner-0.1.jar Atlassian XML Cleaner Utility] von der [http://confluence.atlassian.com/display/JIRA/Removing+invalid+characters+from+XML+backups JIRA Atlassian Website] herunter.


==I Still get an XML error. How can I clean the borked XML file?==
* Entpacken Sie die korrupte Kurssicherungsdatei in einem leeren Verzeichnis. Verwenden Sie zum Entpacken die Moodle-interene Unzip-Funktionalität.
*Benennen Sie die korrupte Datei ''moodle.xml'' um, z.B. in ''moodle-corrupt.xml''.
* Wenn Sie keinen direkten Zugriff auf die Kommandozeile Ihres Moodle-Servers haben, zippen Sie die Datei ''moodle-corrupt.xml'' mittels der Moodle-internen Zip-Funktionalität und laden Sie sich diese Zip-Datei dann auf Ihren lokalen PC herunter. '''Achtung''': Es ist ganz wichtig, die Zip-Datei herunterzuladen und lokal zu entpacken, um Kodierungsfehler beim Wechsel des Betriebssystems zu vermeiden.
* Verschieben Sie das Atlassian XML Cleaner Utility Tool in dasselbe Verzeichnis, in dem sich nun lokal auf Ihrem PC die Datei ''moodle-corrupt.xml'' befindet.
*Führen Sie den folgenden Befehl von der Kommandozeile Ihres PCs aus:


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:
  java -jar atlassian-xml-cleaner-0.1.jar moodle-unclean.xml > moodle.xml


* Download the [http://repository.atlassian.com/atlassian-xml-cleaner/jars/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].
* Zippen Sie anschließend die nun hoffentlich bereinigte Datei ''moodle.xml'' und laden Sie diese wieder auf den Moodle-Server hoch (und zwar an dieselbe Stelle, von der Sie vorher die Datei ''moodle-corrupt.xml'' heruntergeladen haben. Entpacken Sie die Zip-Datei mittels der Moodle-internen Unzip-Funktionalität.
* Zippen Sie nun alles wieder (den gesamten Inhalt des Verzeichnisses, aber nicht das Verzeichnis selbst!).
*Stellen Sie den Kurs wieder her - das sollte jetzt funktionieren.


* 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.
==Was bedeutet die Meldung: "Einige Ihrer Kurse wurden nicht gesichert !!"?==


* Rename the unclean moodle.xml file to moodle-unclean.xml.  
Es gibt drei mögliche Gründe für diese Meldung:
# Fehler - das passiert, wenn bei der [[Automatische Kurssicherung|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.
# 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).
# Ü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.


* 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.
==Wie kann ich Sicherungen vor 1.6, welche nicht ISO-8859-1 sind, auf Moodle 1.6 (Unicode) wiederherstellen?==


* Move the downloaded Atlassian XML Cleaner Utility in the same folder where is your moodle-unclean.xml file.
Alle Sicherungsdateien, welche nicht 100% ISO-8859-1 sind, werden bei der Wiederherstellung auf Moodle 1.6 (und höher), welches unter Unicode läuft, Probleme machen. Statttdessen versuchen Sie bitte Folgendes:


* Issue the following command from the command prompt:
# Erstellen Sie eine frische Installation von Moodle 1.5.x (aktuelleste verfügbare Version)
# Stellen Sie dort all ihre Kurse wieder her (sie sollten funktionieren, wenn sie ursprünglich liefen)
# Aktualisieren Sie Ihre Website auf Moodle 1.6 und führen Sie das UTF-8 Migrationsskript aus.
# Sichern Sie ihre Kurse nochmals.


java -jar atlassian-xml-cleaner-0.1.jar moodle-unclean.xml > moodle.xml
Dadurch wird eine neue Reihe von Backup-Dateien erzeugt, die 100% UTF-8 sind, und Sie werden sie ohne Probleme mit Moodle 1.6 verwenden können.


* 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.
==Die Wiederherstellung eines Kurses führt zu fehlerhaften HTML-Bezeichnungen. Was kann ich tun?==


* Zip everything again (all the folder contents but the folder itself!).
Dies wird durch einen PHP-Fehler in der Datei libxml2 2.7.1 [http://bugs.php.net/bug.php?id=45996 PHP bug in libxml2 2.7.1] (der gleiche Fehler tritt bei den Versionen 2.7.2 and 2.7.3 auf). Alle HTML-Bezeichner, wie zum Beispiel >, < und " werden entfernt, wenn ein Kurs wiederhergestellt wird.


* Restore the course. It should work now.
Um das Problem zu beheben, sollten Sie eine andere Version von libxml2 wie zum Beispiel 2.7.0 oder 2.6.32 oder PHP mittels libexpat statt mit libxml2 kompilieren oder schlussendlich PHP Version >= 5.2.9 verwenden, welche dieses Kompatibilitätsproblem mit dem neuen libxml2 auflöst.


==What does "Some of your courses weren't saved!!" mean?==
Bei Gentoo Servern können sie dies eingeben:
 
There are three possible causes of this problem:
# Error - this happens when the backup procedure has found an error and so hasn't finished the backup of a particular course. These are "controlled" errors and the scheduled backup continues with the next course.
# Unfinished - this happens when the backup procedure dies without knowing why. When the cron is next executed it detects that the last execution went wrong, and continues skipping the problematic course. A possible solution would be to raise the PHP/Apache limit in your installation (memory, time of execution...). By taking a look to your log tables you should be able to see if the "crash" is happening at exact time intervals (usually a problem with the max_execution_time php's variable), or if there is some exact point were all the courses are breaking (generally internal zip libraries, try to switch to external executables instead).
# Skipped - this happens when a course is unavailable to students and has not been changed in the last month (31 days). This isn't an error situation - it's a feature, especially useful for sites with many unavailable old courses, saving process time.
 
==How can I restore pre 1.6 non-ISO-8859-1 backups to Moodle 1.6 (Unicode)?==
 
Any backup files with contents which are not 100% ISO-8859-1 will be a problem to restore to Moodle 1.6 (and upwards) running under Unicode. Instead, please try the following:
 
# Make a clean install of Moodle 1.5.x (the latest version available)
# Restore all your courses there (they should work if they were working originally)
# Upgrade your site to Moodle 1.6 and run the UTF-8 migration script
# Backup your courses again
 
This will produce a new set of backup files that will be 100% UTF-8 and you will be able to use them with Moodle 1.6 without any problems.
 
==Restoring a course results in broken HTML tags. What can I do?==
 
This problem is due to a [http://bugs.php.net/bug.php?id=45996 PHP bug in libxml2 2.7.1] (the same bug reported with version 2.7.2 and 2.7.3). All HTML entities, such as >, < and " are removed when a course is restored.
 
To resolve the problem, you should use a different version of libxml2 such as 2.7.0 or 2.6.32 or compile PHP against libexpat instead of libxml2 or finally use PHP version >= 5.2.9 that solves this compatibility issue over the newer libxml2.
 
At Gentoo servers, you can use


  echo ">dev-libs/libxml2-2.6.32" >> /etc/portage/package.mask
  echo ">dev-libs/libxml2-2.6.32" >> /etc/portage/package.mask
Zeile 133: Zeile 125:
  if (sep != NULL) {
  if (sep != NULL) {


See the discussion [http://moodle.org/mod/forum/discuss.php?d=111321 Restoring makes webpages and labels in code] for further information.
Weitere Informationen gibt es hier: [http://moodle.org/mod/forum/discuss.php?d=111321 Restoring makes webpages and labels in code].


If the above doesn't make much sense... as of the time of writing the '''latest''' versions of libxml2 and PHP no longer have this problem. Upgrade both and you should be fine.
Wenn das Obige keinen Sinn macht, weil zum Zeitpunkt der Erstellung der neuesten Versionen von libxml2 und PHP das Problem nicht mehr auftritt: Upgraden Sie beide und  alles sollte wieder in Ordnung sein.


==Why are some courses being skipped?==
==Warum werden einige Kurse bei der automatischen Kurssicherung übersprungen?==


From 1.6 onwards, course backups automatically skip courses which are unavailable to students and have not been changed in the last month.
Ab Moodle 1.6 werden bei der automatischen Kurssicherung Kurse übersprungen, die für Teilnehmer nicht verfügbar sind und im vergangenen Monat nicht geändert wurden.


==Why does restore stop, rather than completing?==
==Warum bricht die Kurswiederherstellung ab?==


Attempting to restore a course to an older version of Moodle than the one the course was backed up on can result in the restore process failing to complete. To ensure a successful restore, make sure that the version of Moodle you are restoring the course to is the same, or newer, than the one the course was backed up on.
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.


If it stop unexpectedly with no errors shown try again with [[Debugging]] switched on. Any errors you now see can help experts in the support forums diagnose your problem.
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 [http://moodle.org/course/view.php?id=5 ''Using Moodle''] auf moodle.org.


==How can I improve restore robustness and execution times?==
==Wie kann ich die Robustheit einer Kurswiederherstellung verbessern und die Prozessdauer verkürzen?==


{{Moodle 1.9}}To improve restore robustness and execution times, particularly for medium to large course backups, try enabling the setting ''experimentalsplitrestore'' in ''Administration > Miscellaneous > [[Experimental]]''. (This setting is available in Moodle 1.9.5 onwards.)
{{Moodle 1.9}}Um die Robustheit einer Kurswiederherstellung zu verbessern und die Dauer des Wiederherstellungsprozesses zu verkürzen - insebsondere für mittlere und große Kurssicherungen - können Sie die Einstellung ''Experimentell: Geteilte Wiederherstellung'' (''experimentalsplitrestore'') unter ''Website-Administration > Verschiedenes > [[Experimentell]]'' aktivieren. Diese Einstellung gibt es ab Moodle 1.9.5.


== Siehe auch==
== Siehe auch==

Aktuelle Version vom 25. Februar 2011, 17:30 Uhr

Baustelle.png Diese Seite ist noch nicht vollständig übersetzt.

Siehe en:Backup_and_restore_FAQ

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.

Sicherung bricht beim Zippen ab!

Moodle 1.9 und ältere Versionen verwenden eine PHP-Bibliothek, um Dateien zu packen. Diese Vorgehensweise ist nicht sehr effizient und hat insbesondere Probleme beim Packen und Entpacken von großen Dateien. Sie können aber auch ein externes ZIP-Programm verwenden, welches Sie unter Website-Administration > Server > Systemprogramme eintragen können.

Moodle 2.0 verwendet neue PHP-Zip-Funktionen, so dass ein externes Systemprogramm nicht mehr nötig ist.

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 und CPU-Last. 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).

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. 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.
Fehlermeldung

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.

Die Kurswiederherstellung endet mit einem XML-Fehler. Was kann ich tun?

Dieses Problem kann zu jedem Zeitpunkt des Wiederherstellungsprozesses auftreten, und zwar dann, wenn der XML-Parser einen Fehler in der Sicherungsdatei findet. Normalerweise werden solche Fehler durch "falsche" Zeichen verursacht, die durch Copy&Paste in den Kurs geraten sind (z.B. Steuerzeichen o.ä.).

Die beste Vorgehensweise zur Behebung eines solchen Fehlers ist folgende:

  • Entpacken Sie die korrupte Sicherungsdatei in einem leeren Verzeichnis.
  • Öffnen Sie die Datei moodle.xml im Firefox. Im Browser sollten die "falschen" Zeichen sichtbar werden.
  • Öffnen Sie die Datei moodle.xml in einem UTF8-kompatiblen Editor und löschen Sie diese Zeichen. Speichern Sie die Änderungen.
  • Prüfen Sie die Datei moodle.xml erneut im Firefox und wiederholen Sie diese Schritte, bis keine Fehler mehr angezeigt werden.
  • Zippen Sie das Verzeichnis wieder (den ganzen Inhalt, aber nicht das Verzeichnis selbst!).
  • Stellen Sie nun den Kurs wieder her - das sollte jetzt funktionieren. Falls nicht, lesen Sie die Frage und zugehörige Antwort im nächsten Abschnitt.

Außerdem empfehlen wir, den Fehler auch im Original-Moodlekurs zu beheben - damit der Fehler bei einer erneuten Sicherung und Wiederherstellung dieses Kurses nicht wieder auftritt.

Ich bekomme immer noch eine XML_Fehlermeldung. Wie kann ich die korrupte XML-Datei reparieren?

In manchen Fällen kann die XML-Datei einer Kurssicherung Zeichen enthalten, die zum Abbruch des Wiederherstellungsprozesses führen, selbst dann, wenn Sie die Schritte im vorigen Abschnitt durchgeführt haben. In solchen Situationen können Sie folgendes versuchen:

  • Entpacken Sie die korrupte Kurssicherungsdatei in einem leeren Verzeichnis. Verwenden Sie zum Entpacken die Moodle-interene Unzip-Funktionalität.
  • Benennen Sie die korrupte Datei moodle.xml um, z.B. in moodle-corrupt.xml.
  • Wenn Sie keinen direkten Zugriff auf die Kommandozeile Ihres Moodle-Servers haben, zippen Sie die Datei moodle-corrupt.xml mittels der Moodle-internen Zip-Funktionalität und laden Sie sich diese Zip-Datei dann auf Ihren lokalen PC herunter. Achtung: Es ist ganz wichtig, die Zip-Datei herunterzuladen und lokal zu entpacken, um Kodierungsfehler beim Wechsel des Betriebssystems zu vermeiden.
  • Verschieben Sie das Atlassian XML Cleaner Utility Tool in dasselbe Verzeichnis, in dem sich nun lokal auf Ihrem PC die Datei moodle-corrupt.xml befindet.
  • Führen Sie den folgenden Befehl von der Kommandozeile Ihres PCs aus:
  java -jar atlassian-xml-cleaner-0.1.jar moodle-unclean.xml > moodle.xml
  • Zippen Sie anschließend die nun hoffentlich bereinigte Datei moodle.xml und laden Sie diese wieder auf den Moodle-Server hoch (und zwar an dieselbe Stelle, von der Sie vorher die Datei moodle-corrupt.xml heruntergeladen haben. Entpacken Sie die Zip-Datei mittels der Moodle-internen Unzip-Funktionalität.
  • Zippen Sie nun alles wieder (den gesamten Inhalt des Verzeichnisses, aber nicht das Verzeichnis selbst!).
  • Stellen Sie den Kurs wieder her - das sollte jetzt 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.

Wie kann ich Sicherungen vor 1.6, welche nicht ISO-8859-1 sind, auf Moodle 1.6 (Unicode) wiederherstellen?

Alle Sicherungsdateien, welche nicht 100% ISO-8859-1 sind, werden bei der Wiederherstellung auf Moodle 1.6 (und höher), welches unter Unicode läuft, Probleme machen. Statttdessen versuchen Sie bitte Folgendes:

  1. Erstellen Sie eine frische Installation von Moodle 1.5.x (aktuelleste verfügbare Version)
  2. Stellen Sie dort all ihre Kurse wieder her (sie sollten funktionieren, wenn sie ursprünglich liefen)
  3. Aktualisieren Sie Ihre Website auf Moodle 1.6 und führen Sie das UTF-8 Migrationsskript aus.
  4. Sichern Sie ihre Kurse nochmals.

Dadurch wird eine neue Reihe von Backup-Dateien erzeugt, die 100% UTF-8 sind, und Sie werden sie ohne Probleme mit Moodle 1.6 verwenden können.

Die Wiederherstellung eines Kurses führt zu fehlerhaften HTML-Bezeichnungen. Was kann ich tun?

Dies wird durch einen PHP-Fehler in der Datei libxml2 2.7.1 PHP bug in libxml2 2.7.1 (der gleiche Fehler tritt bei den Versionen 2.7.2 and 2.7.3 auf). Alle HTML-Bezeichner, wie zum Beispiel >, < und " werden entfernt, wenn ein Kurs wiederhergestellt wird.

Um das Problem zu beheben, sollten Sie eine andere Version von libxml2 wie zum Beispiel 2.7.0 oder 2.6.32 oder PHP mittels libexpat statt mit libxml2 kompilieren oder schlussendlich PHP Version >= 5.2.9 verwenden, welche dieses Kompatibilitätsproblem mit dem neuen libxml2 auflöst.

Bei Gentoo Servern können sie dies eingeben:

echo ">dev-libs/libxml2-2.6.32" >> /etc/portage/package.mask

Update: This was fixed for libxml2 version 2.7.3 in PHP snapshot on 11/01/2009. You can use the following patch:

--- php-5.2.8/ext/xml/compat.c 2008/12/31 11:12:38 1.52
+++ php-5.2.8/ext/xml/compat.c 2009/01/11 12:00:30 1.53
@@ -482,6 +482,10 @@
parser->parser->charset = XML_CHAR_ENCODING_NONE;
#endif

+#if LIBXML_VERSION >= 20703
+ xmlCtxtUseOptions(parser->parser, XML_PARSE_OLDSAX);
+#endif
+
parser->parser->replaceEntities = 1;
parser->parser->wellFormed = 0;
if (sep != NULL) {

Weitere Informationen gibt es hier: Restoring makes webpages and labels in code.

Wenn das Obige keinen Sinn macht, weil zum Zeitpunkt der Erstellung der neuesten Versionen von libxml2 und PHP das Problem nicht mehr auftritt: Upgraden Sie beide und alles sollte wieder in Ordnung sein.

Warum werden einige Kurse bei der automatischen Kurssicherung übersprungen?

Ab Moodle 1.6 werden bei der automatischen Kurssicherung Kurse übersprungen, die für Teilnehmer nicht verfügbar sind und im vergangenen Monat nicht geändert wurden.

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.

Wie kann ich die Robustheit einer Kurswiederherstellung verbessern und die Prozessdauer verkürzen?

Moodle1.9 Um die Robustheit einer Kurswiederherstellung zu verbessern und die Dauer des Wiederherstellungsprozesses zu verkürzen - insebsondere für mittlere und große Kurssicherungen - können Sie die Einstellung Experimentell: Geteilte Wiederherstellung (experimentalsplitrestore) unter Website-Administration > Verschiedenes > Experimentell aktivieren. Diese Einstellung gibt es ab Moodle 1.9.5.

Siehe auch

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