MyBB.de Forum

Normale Version: Wöchentliches Datenbank Backup funktioniert nicht richtig
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

habe mich hier registriert, da ich ein Problem mit meinem MyBB habe. Ich habe die geplante Aufgabe "Daily Backup" aktiviert, jedoch führt er diese nicht zu der entsprechenden Uhrzeit aus. Normalerweise gebe ich ihm Zeit dafür von 0-3 Uhr, aber heute hat er es z. B. wieder erst um 11:16 gemacht! Das nervt mich ziemlich, denn es kann ja nicht sein, dass der die Aufgabe ausführt, wenn der Lust dazu hat.

Hoffe auf eine entsprechende Hilfe. Besten Dank im Voraus!

Gruß,
Manuel
Die Tasks werden nur ausgeführt, wenn jemand in deinem Forum aktiv ist. Deswegen wird ja auch bei der Aktivierung des Tasks empfohlen, stattdessen ein Cronjob zu verwenden.
Ah, jetzt versteh ich das, das würde auch immer mit den Backups von der Zeit her passen, ok, dann danke für die Info, werde das jetzt mal ändern.

Danke nochmals!
Ein kleiner Tipp diesbezüglich noch von mir:

Du kannst auch beides wunderbar kombinieren, bspw. einstellen, dass das Forum um 3 Uhr nachts ein Backup starten soll, und mittels Cronjob (z.B. über "wget") um 3.05 Uhr dann die index.php deines Forums aufrufen.
Wenn du über einen noch höheren Zugriff auf das System verfügst, kannst du ebenso mittels "php" - Befehl gezielt das Skript ausführen. Dann würde sich gegebenenfalls allerdings bereits ein shellskript anbieten, welches dir die Daten wegsichert.

Nur so als Denkanstoß.

Lg
Raphael
wget eher auf die task.php

die index.php alleine macht kein run_task() und wget zieht sich im Gegensatz zu einem Browser nicht die task.php als Abhängigkeit. Das wget bleibt also wirkungslos.

Wenn der Cronjob auf dem gleichen Server läuft kann man auch php direkt auf die task.php loslassen (PHP als Kommandozeilenbefehl), könnte dann u.U. auch Timeout-technisch vorteilhaft sein (je nach Serverkonfiguration)
Wget fungiert wie ein normaler http-get-Request meines Wissens nach. Demnach gibt sich in dem Moment "wget" gegenüber Apache als Client aus. Demnach parst dieser dann auch ganz normal die Datei durch, als würde ein normaler Nutzer von außen die index.php aufrufen (Es löst auch Abhängigkeiten auf, da diese ja nicht von wget, sondern vom Apache ausgeführt werden).
Aber direkt dabei die task.php anzusteuern ist wohl auch eine Idee, wobei ich spontan nicht weiß, ob ein Direktaufruf selbiger möglich ist.

Lg
Raphael
wget lädt keine Bilder (warum auch) und damit werden keine Tasks ausgeführt.
(17.12.2012, 18:42)Raphael schrieb: [ -> ]Wget fungiert wie ein normaler http-get-Request meines Wissens nach.

Jo

Zitat:Demnach gibt sich in dem Moment "wget" gegenüber Apache als Client aus.

Jo

Zitat:Demnach parst dieser dann auch ganz normal die Datei durch, als würde ein normaler Nutzer von außen die index.php aufrufen

wget kann das zwar auch machen, aber ohne zusätzliche Optionen, speichert wget einfach nur die Datei ab ohne da irgendwas zu parsen.

Zitat:(Es löst auch Abhängigkeiten auf, da diese ja nicht von wget, sondern vom Apache ausgeführt werden).

Nee. Apache macht gar nichts als zwischen Client und PHP zu vermitteln, und PHP führt nur die index.php aus, aber da sind keine Tasks drin.

Zitat:Aber direkt dabei die task.php anzusteuern ist wohl auch eine Idee, wobei ich spontan nicht weiß, ob ein Direktaufruf selbiger möglich ist.

Jo, geht so


Die index.php baut nur ein <img src="task.php"> ein. Ein Browser versucht dann dieses Bild zu laden und führt damit die task.php und damit den Task im Hintergrund aus.

wget macht das aber (ohne Zusatzoptionen) nicht. Und mit Zusatzoptionen würde wget erstmal versuchen, alle Bilder auf der Seite zu laden statt nur die task.php.

Daher direkt die task.php ansteuern - das dafür ggf. auch gerne mehrmals da jedes Mal glaube ich nur ein Task ausgeführt wird und ja mehrere fällig sein könnten
Hey danke für eure Hilfe, aber leider habe ich gar keine Ahnung wie ich nen Cronjob ausführe und ich schätze mal, dass das schlecht ist, oder? Smile
Ahhh *click*
Ich wusste nicht, dass die task.php in der index.php quasi als Bild aufgerufen wird. Dann ist es natürlich verständlich, dass wget die tasks nicht ausführt.
Wieder etwas dazu gelernt.

@Manuel97: Hast du einen normalen Webspace, vServer oder Root-Server? Einige Webspace Anbieter bieten auch Cronjobs in ihren Leistungen an. Da hast du dann meistens in einem Verwaltungspanel für deinen Webspace eine entsprechende Option. Bei den anderen beiden Varianten kannst du das z.B. via crontab selbst einrichten.

Lg
Raphael