Sicherung der Moodle-Installation

Aus MoodleDocs
Wechseln zu:Navigation, Suche


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

Bei der Sicherung der Moodle-Administration werden alle relevanten Daten Ihres Moodle-Systems gesichert. Diese Sicherungen können wiederhergestellt werden, und man erhält den Zustand des Moodle-Systems zum Zeitpunkt der Sicherung.

Eine regelmäßige Sicherung der Moodle-Installation wird empfohlen, um alle Daten für den Notfall schnell und zuverlässig zur Verfügung zu haben.


Was muss gesichert werden?

Eine Moodle-Installation umfasst drei Teile:

Wo sich diese Daten Ihrer Moodle-Installation auf Ihrem Server befinden, steht in der Moodle-Konfigurationsdatei config.php:

  • $CFG->dbname speichert den Namen der Datenbank,
  • $CFG->prefix speichert das Präfix im Namen der Datenbank-Tabellen,
  • $CFG->dataroot verweist auf das Moodle-Datenverzeichnis,
  • $CFG->dirroot verweist auf das Moodle-Verzeichnis.

Das wichtigste ist die Sicherung der Moodle-Datenbank und des Moodle-Datenverzeichnisses. Diese Bereiche enthalten Informationen, die sich ständig ändern.

Die Sicherung der Skripten im Moodle-Verzeichnis ist weniger wichtig, da Sie sich jederzeit den aktuellen Code von moodle.org herunterladen können, es sei denn, Sie haben eigene Codeanpassungen vorgenommen - diese müssten Sie sichern.

Sicherung durchführen

Moodle-Datenbank

Es gibt viele Möglichkeiten, eine Sicherung der Datenbank durchzuführen. Wie genau die Sicherung durchgeführt wird hängt vom konkreten Datenbanksystem ab. Im folgenden sehen Sie einen Auszug aus einem Skript, das unter Unix eine Sicherung einer MySQL-Datenbank macht. Es empfiehlt sich, so ein Skript täglich als Cron-Job laufen zu lassen. Als Alternative können Sie phpMyAdmin verwenden, um die Datenbank manuell zu sichern.

cd /my/backup/directory
mv moodle-database.sql.gz moodle-database-old.sql.gz
mysqldump -h example.com -u myusername --password=mypassword -C -Q -e --create-options mydatabasename > moodle-database.sql
gzip moodle-database.sql

Codierung

Bei der Sicherung der Datenbank müssen Sie als Server-Administrator/in auf die korrekte Codierung achten: In den meisten Fällen muss die Datenbank in UTF-8-Codierung gesichert werden.

Prüfen Sie die Sicherung auf mögliche Codierungsprobleme. Es kann z.B. passieren, dass bei Verwendung von mysqldump oder phpMyAdmin nicht alle Daten der Datenbank im korrekten Zeichensatz gesichert werden. Das führt zu unlesbaren Zeichen, wenn die Datenbank wiederhergestellt wird.

Werkzeuge für die Datenbanksicherung

  • phpMyAdmin ist das Werkzeug der Wahl bei den meisten Hosting Anbietern.
  • MySQLDumper ist ein Backup-Skript für MySQL Datenbanken, das in PHP und Perl geschrieben ist. MySQLDumper verwendet eine proprietäre Technik, um Unterbrechungen bei der Ausführung von PHP-Skripten zu verhindern (normalerweise ist der Parameter max. execution time auf 30 Sekunden gesetzt). Der MySQLDumper berücksichtigt auch die Codierung (siehe oben).

Moodle-Datenverzeichnis

Zur Sicherung des Moodle-Datenverzeichnisses können Sie rsync verwenden, um nur die modifizierten Dateien auf einen anderen Server zu kopieren:

rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/

Wenn Sie das Cron-Skript auf Ihrem Moodle-Server nutzen wollen, dann müssen Sie folgendes Kommando verwenden:

rsync -auvtz --delete -e ssh /path/to/local/folder/ remoteuser@remoteserver:/path/to/remote/folder/

Wenn Sie keine Statusmails von rsync erhalten möchten, dann verweden Sie folgenden Befehl:

 rsync -autzq --delete -e ssh /path/to/local/folder/ remoteuser@remoteserver:/path/to/remote/folder/

Wenn Ihr Moodle Hosting Anbieter kein ssh erlaubt (oder nicht anbietet), Sie aber ftp Zugriff mit Nutzername und Passwort haben, dann können Sie auch folgende Befehle verwenden:

mkdir /tmp/remote-folder
curlftpfs ftp://username:password@ftp.your-site.com /tmp/remote-folder
rsync -auvtz --delete /tmp/remote-folder /my/local/backup/folder/
umount /tmp/remote-folder
rmdir /tmp/remote-folder

Die Moodle-Datenbank und die Moodle-Skripten können der Vollständigkeit halber gleich mit kopiert werden (getestet mit cPanel Web-Interface):

wget --http-user=username --http-password=password http://your-site.com:2082/getsqlbackup/moodle.sql.gz
wget --http-user=username --http-password=password http://your-site.com:2082/getbackup/backup-your-site.com-`date +"%-m-%d-%Y"`.tar.gz

Moodle-Verzeichnis

Wenn Sie keine eigenen Codeanpassungen vorgenommen haben, können Sie sich jederzeit eine neue Moodle-Installation von moodle.org herunterladen. Dennoch ist es eine gute Idee, die Moodle-Skripten in Ihre vollständige Sicherung der Moodle-Installation mit einzuschließen. Die Schritte sind dieselben wie bei der Sicherung des Moodle-Datenverzeichnisses.

Sicherung der Moodle-Installation wiederherstellen

wenn Sie eine vollständige Sicherung Ihrer Moodle-Installation wie oben beschrieben vorgenommen haben, sollten Sie auch wissen, wie Sie diese Sicherung im Notfall wieder herstellen können. Im folgenden werden die grundlegenden Schritte des Wiederherstellungsprozesses beschrieben.

  1. Benennen Sie das originale Moodle-Verzeichnis um (damit Sie es weiter zur Verfügung haben) und kopieren Sie die gesicherten oder neu heruntergeladenen Moodle-Skripten an die Stelle des ursprünglichen Moodle-Verzeichnisses.
  2. Benennen Sie das originale Moodle-Datenverzeichnis um (damit Sie es weiter zur Verfügung haben) und kopieren Sie das gesicherte Moodle-Datenverzeichnis an die Stelle des ursprünglichen Verzeichnisses.
  3. Wenn Sie eine MySQL-Datenbank verwenden, dann sollte die Sicherung Ihrer Moodle-Datenbank eine .sql, .gz oder .tar.gz Datei sein. Falls es eine .gz oder .tar.gz Datei ist, müssen Sie diese zunächst entpacken, um die eigentliche .sql Datei zu erhalten:
tar -xzvf moodlesqlfile.tar.gz
  1. Wenn Sie mysql verwenden, importieren Sie die gesicherte .sql datei in eine neu angelegte Datenbank im MySQL-Server. Seien Sie vorsichtig: Manche Backups versuchen, in die alte Moodle-Datenbank zu importieren. Das führt zu Problemen, die eine Moodle-Installation zerstören können. Am besten legen Sie eine neue Datenbank an, importieren die Daten dort hinein:
mysql -p new_database < moodlesqlfile.sql

Anschließend tragen Sie in der Moodle-Konfigurationsdatei config.php diese neue Datenbank ein.

Somit bleibt Ihnen die alte Moodle-Datenbank weiter erhalten, ebenso wie das alte Moodle-Verzeichnis und das alte Moodle-Datenverzeichnis.

Siehe auch