Sicherung der Moodle-Installation: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „{{Update}} Siehe [https://docs.moodle.org/20/en/Page_notes#Site_backup_.26_restore] (2.0, englisch) und [https://docs.moodle.org/19/de/Sicherung_der_Moodle-Install…“) |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
{{ | {{Sicherung}} | ||
{{Zum Übersetzen}} | |||
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 folgendes: | |||
*die Daten, die in der [[Moodle-Datenbank]] gespeichert sind, | |||
*die hochgeladenen Dateien und andere Daten im [[Moodle-Datenverzeichnis]] | |||
*die Dateien im [[Moodle-Verzeichnis]], die den Moodle-Code enthalten. | |||
Das wichtigste ist die Sicherung der [[Moodle-Datenbank]] und des [[Moodle-Datenverzeichnis]]ses. Die Sicherung der Skripten im [[Moodle-Verzeichnis]] ist weniger wichtig, da Sie sich jederzeit den aktuellen Code von [http://download.moodle.org moodle.org] herunterladen können, es sei denn, Sie haben eigene Codeanpassungen vorgenommen - diese müssten Sie sichern. | |||
Wo sich diese Daten Ihrer Moodle-Installation auf Ihrem Server befinden, steht in der Moodle-[[Konfigurationsdatei]] ''config.php'': | |||
*'''$CFG->dataroot''' verweist auf das [[Moodle-Datenverzeichnis]], | |||
*'''$CFG->dirroot''' verweist auf das [[Moodle-Verzeichnis]]. | |||
==Sicherung durchführen== | |||
=== Moodle-Datenbank === | |||
Es gibt viele Möglichkeiten, eine Sicherung der Datenbank durchzuführen. Im folgenden sehen Sie einen Auszug aus einem Skript, das unter Unix eine Sicherung der Datenbank macht. Es empfiehlt sich, so ein Skript täglich als Cron-Job laufen zu lassen. | |||
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 | |||
==== Kodierung ==== | |||
Bei der Sicherung der Datenbank muss der Server-Administrator auf die Kodierung achten: Die Datenbank muss in UTF-8-Kodierung ([[Unicode]]) gesichert werden. Es kann z.B. passieren, dass bei Verwendung von [http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html mysqldump] oder [http://www.phpmyadmin.net phpMyAdmin] nicht alle Daten der Datenbank im korrekten Zeichensatz gesichert werden. | |||
==== Werkzeuge für die Datenbanksicherung==== | |||
* [http://www.phpmyadmin.net phpMyAdmin] ist das Werkzeug der Wahl bei den meisten Hosting Anbietern. | |||
* [http://www.mysqldumper.de/en/ 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 Kodierung (siehe oben). | |||
===Moodle-Datenverzeichnis=== | |||
Zur Sicherung des [[Moodle-Datenverzeichnis]]ses 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 [http://download.moodle.org 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. | |||
#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. | |||
#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. | |||
#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 | |||
#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== | |||
*[[Sicherung und Wiederherstellung FAQ]] | |||
*[[Automatische Kurssicherung]] | |||
*Abschnitt "Aktuelle Daten sichern" im Artikel [[Aktualisierung von Moodle#Aktuelle Daten sichern|Aktualisierung von Moodle]] | |||
*[http://www.moodletutorials.org/view_video.php?viewkey=e257e44aa9d5bade97ba Video], das zeigt wie unter Linux eine vollständige Sicherung der Moodle-Installation durchgeführt wird | |||
*[http://youtube.com/watch?v=ufAmf_jm_p8 Video], das zeigt wie unter Windows eine vollständige Sicherung der Moodle-Installation durchgeführt wird | |||
[[Category:Sicherung]] | |||
[[Category:Administrator]] | |||
[[Category:Sicherheit]] | |||
[[en:Site backup]] |
Version vom 10. Mai 2012, 07:02 Uhr
Vorlage:Zum Übersetzen
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 folgendes:
- die Daten, die in der Moodle-Datenbank gespeichert sind,
- die hochgeladenen Dateien und andere Daten im Moodle-Datenverzeichnis
- die Dateien im Moodle-Verzeichnis, die den Moodle-Code enthalten.
Das wichtigste ist die Sicherung der Moodle-Datenbank und des Moodle-Datenverzeichnisses. 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.
Wo sich diese Daten Ihrer Moodle-Installation auf Ihrem Server befinden, steht in der Moodle-Konfigurationsdatei config.php:
- $CFG->dataroot verweist auf das Moodle-Datenverzeichnis,
- $CFG->dirroot verweist auf das Moodle-Verzeichnis.
Sicherung durchführen
Moodle-Datenbank
Es gibt viele Möglichkeiten, eine Sicherung der Datenbank durchzuführen. Im folgenden sehen Sie einen Auszug aus einem Skript, das unter Unix eine Sicherung der Datenbank macht. Es empfiehlt sich, so ein Skript täglich als Cron-Job laufen zu lassen.
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
Kodierung
Bei der Sicherung der Datenbank muss der Server-Administrator auf die Kodierung achten: Die Datenbank muss in UTF-8-Kodierung (Unicode) gesichert werden. Es kann z.B. passieren, dass bei Verwendung von mysqldump oder phpMyAdmin nicht alle Daten der Datenbank im korrekten Zeichensatz gesichert werden.
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 Kodierung (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.
- 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.
- 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.
- 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
- 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
- Sicherung und Wiederherstellung FAQ
- Automatische Kurssicherung
- Abschnitt "Aktuelle Daten sichern" im Artikel Aktualisierung von Moodle
- Video, das zeigt wie unter Linux eine vollständige Sicherung der Moodle-Installation durchgeführt wird
- Video, das zeigt wie unter Windows eine vollständige Sicherung der Moodle-Installation durchgeführt wird