Dass das Backup nicht alle Kurse erfolgreich sichert, war ich aus moodle 1.5.3 gwohnt. Die habe ich dann "händisch" gesichert. Seit ich 1.7 fahre, erhalte ich das folgende Ergebnis.
Summary
==================================================
Courses: 85
OK: 24
Skipped: 1
Error: 0
Unfinished: 60
Some of your courses weren't saved!!
Hat jemand eine Idee, ob es auch auf einen Einstellungsfehler zurückgehen kann? Zumindest ist das Sichern von Hand bei diesen Zahlen sehr aufwändig!
Schönen Dank für die Mühe
Wilhelm
Tipps:
- keine größeren (Kurs-)Dateien verwenden als der Wert für memory_limit vorgibt.
- keine Archive (zip, tgz, tar.gz...) in den Kursdateien herumliegen lassen
Andere Backupstrategie:
Den Ordner /moodledata und deine Datenbank regelmäßig sichern und die Sicherung ggf. auf einem lokalen Moodle auf deinem Rechner zu Hause einspielen und testen! Mit ein bisschen Übung geht das schnell und ist vor allem sicher (wenn man die Integrität des Backups auch überprüft).
Gruß,
Maik
ich richte bei mir gerade eine Sicherung ein. Hier ein paar Eckpunkte:
Provider Belwue.de, keine Shell-Ausführung zulässig, alle Logins verschlüsselt.
Vorgehen: Auf einem Windows-Server, auf dem eh' schon der Cron-Job für Moodle läuft, richte ich noch einen täglich Job ein, um die Daten vom Provider rüber zu sichern.
Dazu wird auf dem Moodle-Server ein Script ausgeführt, das die gesamte Datenbank in eine einzige Datei schiebt. Dieses wird vom Windows-Server per wget aufgerufen, also wie der Cron-Job von Moodle.
Danach hole ich die Datei mit wget.
Per rsync hole ich mir die geänderten Dateien des kompletten Servers (und nicht nur von moodledata )
rsync lässt sich per ssh verschlüsselt anwenden, weil der Provider nichts anderes zulässt. Dazu wird von ssh-keygen ein Schlüsselpaar erzeugt und der öffentliche Schlüssel auf dem Provider-Server abgelegt.
Falls jemand genaueres braucht, schreibe ich das noch ausführlicher auf.
Gruß
Marc
Vielen Dank und freundliche Grüße
Albert
http://www.belwue.de/download/webserver/
Dieses Skript konfigurieren (Datenbank, Username, Datenbankpasswort) und in den Ordner cgi-bin kopieren. Dieser liegt zwar außerhalb der Verzeichnishierarchie des "normalen" Webspace, kann aber über
http://elearn.feintechnikschule.de/cgi-bin/dbbackup.sh
aufgerufen werden. Die execute-Rechte müssen stimmen!
Ich kann bei Belwue.de keine Shell per Putty oder WinSCP öffnen, aber das Skript läuft.
Dieses Skript starte ich per wget. Das ist ein Programm, das URLs aufrufen kann (und mehr). wget läuft täglich per Cron.
Ich hänge mal die Verzeichnisstruktur an und du siehst die Rechte.
Mit rsync (auch das ist vom Provider zugelassen) hole ich dann die Dateien aus moodle, moodledata, bilder und secure und den oben erzeugten Datenbankdump aus upload.
Gruß
Marc
Schönen Dank für deine Tipps. Ich habe zwischenzeitlich ein lokales moodle (1.7) installiert und vom server den Ordner moodledata heruntergeladen. Den Ordner moodledata im lokalen moodle habe ich nun durch den gesicherten Ordner moodledata erstetzt. Das lokale moodle findet aber die Daten nicht. Fehlt da noch was?
Schönen Gruß
Wilhelm
Wenn du die Datenbank als reine Textdatei extrahiert hast, geht das z.B. in Word raz-faz.
Gruß
Marc
Schönen Dank für dir Tipps. Entschuldige die Nachfrage, aber wo finde ich die Datenbank. Ordner mit der db gibt es mehrere. Wo genau soll sie reinkopiert werden. Der Aufbau der lokalen Installation ist anders als auf dem Server.
Mit Pfad ist die URL gemeint, mit der ich die lokale Installation aufrufe?!
Einen schönen Sonntag und besten Dank für die Mühe
Wilhelm
"Da dein neuer Server sicher eine andere URL hat, musst du in der Datenbank alle Pfade ändern."
Diese Information gilt nur für Links innerhalb von Moodle, die du manuell - also nicht über die Moodlefunktionen - erstellt hast. Moodle erstellt ansonsten seine Pfade dynamisch aus der config.php. Ein Serverwechsel ist gar kein Problem, solange man die Pfade in der config.php neu anpasst.
Informationen zur Sicherung der Datenbank findest du z.B. hier.
Gruß,
Maik
Das waren wichtige und selbst für mich nachvollziehbare Tipps. Ich habe nun moodledata und eine sql-Datei als Sicherung auf meiner Festplatte. Außerdem ein lokal installiertes moodle. Wie kann ich nun testen, ob die Sicherungen wirklich was taugen?
sonnigen Sonntag
Wilhelm
... das ist innerhalb des Kurses eigentlich auch beschrieben.
- neue Datenbank anlegen
- sql-Datei in DIESE NEUE Datenbank einspielen
- Moodle frisch herunterladen und in einen anderen Ordner (z.B. moodle_test) installieren
- /moodedata z.B. in "moodledata_test" umbenennen und in den selben Ordner wie dein bereits installiertes /moodledata kopieren
- config.php von /moodle_test anpassen (neue Datenbank und neue Pfade eintragen)
- neues lokales Moodle per Browser aufrufen (richtig - erst JETZT)
Gruß,
Maik
Marc
vs.
"Dumm nur, wenn der Provider das Anlegen einer weiteren Datenbank nicht zulässt"
Was hat der Provider mit Wilhelms Festplatte und seinem Rechner zu tun?
Gruß,
Maik
die gesicherte sql-Datei will nicht in die neu geschaffene Datenbank:
Fehler
SQL-Befehl:
# MySQL dump by phpMyDump
# Host: localhost Database: usrdb_afrahdbb_moodle2007
-------------------------- --
# Server version: 4.1.22
# ----------------------------------------
# table structure for table 'adodb_logsql'
CREATE TABLE adodb_logsql(
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`sql0` varchar( 250 ) COLLATE utf8_unicode_ci NOT NULL default '',
`sql1` text COLLATE utf8_unicode_ci,
`params` text COLLATE utf8_unicode_ci,
`tracer` text COLLATE utf8_unicode_ci,
`timer` decimal( 16, 6 ) NOT NULL default '0.000000',
PRIMARY KEY ( `id` )
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '----------------------------
CREATE TABLE adodb_logsql (
`id` bigint(' at line 1
Da scheint was nicht zusammen zu passen! Serverversion und Sicherung??
Gruß
Wilhelm
-- Dump by MySQLDumper 1.21 b6 (http://www.mysqldumper.de/board/)
-- Dump created at 2007-02-03 07:48
--
-- Create Table `adodb_logsql`
--
DROP TABLE IF EXISTS `adodb_logsql`;
CREATE TABLE `adodb_logsql` (
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`sql0` varchar(250) NOT NULL default '',
`sql1` text NOT NULL,
`params` text NOT NULL,
`tracer` text NOT NULL,
`timer` decimal(16,6) NOT NULL default '0.000000'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Auffällig:
Bei den Parametern in Klammern sind keine Leerzeichen!
Diese Datensicherung lief bei mir problemlos wieder in die selbe(!) Datenbank.
Gruß
Marc
Schau' dir mal diesen Thread an. Da steht die Lösung.
Gruß,
Maik
Ich hätte auch gedacht, dass Pfade dynamisch aus der config.php gewonnen werden. Doch ich hatte ein Problem nach einer Serverumbenennung: Dateien, die per Moodle hochgeladen worden waren(!), wurden nicht mehr gefunden.
Mir wurde hier im Forum empfohlen, die Pfade in der Datenbank zu ändern, was auch geholfen hat.
Die Angaben in der config.php hießen früher:
$CFG->wwwroot = 'http://www.tausch.feintechnikschule.de/moodle';
$CFG->dirroot = '/srv/www/virtual/KUNDENNUMMER/www.tausch.feintechnikschule.de/vhostdata/htdoc/moodle';
$CFG->dataroot = '/srv/www/virtual/KUNDENNUMMER/www.tausch.feintechnikschule.de/vhostdata/htdoc/moodledata';
Nach der Umbenennung änderte ich in der config.php nur das wwwroot:
$CFG->wwwroot = 'http://elearn.feintechnikschule.de/moodle';
$CFG->dirroot = '/srv/www/virtual/KUNDENNUMMER/www.tausch.feintechnikschule.de/vhostdata/htdoc/moodle';
$CFG->dataroot = '/srv/www/virtual/KUNDENNUMMER/www.tausch.feintechnikschule.de/vhostdata/htdoc/moodledata';
Doch die Dateien, z.B. Bilder der Nutzer, wurden nicht gefunden. Erst eine Umbenennung in der Datenbank half.
Ist aber Schnee von gestern (zumindest bei mir)
Gruß
Marc
Gruß,
Maik
Belwue ist sonst schon sehr auf Sicherheit bedacht.
Gruß
Marc