1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

BackWPup startet mittels mit WordPress Cron nicht automatisch

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von dertommy, 21. Januar 2014.

  1. dertommy

    dertommy Member

    Registriert seit:
    25. Mai 2011
    Beiträge:
    18
    Zustimmungen:
    0
    Hallo!

    Ich habe folgendes Problem. Ich benutze Wordpress 3.8 und BackWPup Version 3.1.1 (nicht die gekaufte Vollversion).
    Ich habe nun eingestellt, dass er ein tägliches Backup um 3 Uhr in der Früh machen soll. Leider tut er das nicht, nur dann, wenn ich mich im Laufe des Tages in den Blog einlogge, startet er das Backup, was aber nicht der Sinn der Sache ist. Eigentlich sollte er das ja automatisch um 3 Uhr in der Früh machen, denn wenn ich mich erst manuelle jeden Tag einloggen muss, das er das Backup startet, brauch ich ja keinen Cron Job.
    Ich hoffe, dass mir jemand helfen kann, woran das liegen könnte.

    LG
    Thomas
     
  2. smartware.cc

    smartware.cc Well-Known Member

    Registriert seit:
    14. Januar 2014
    Beiträge:
    227
    Zustimmungen:
    0
    Hallo Thomas,

    das kommt daher, dass das Cron-System von WP keine "echten" Cronjobs verwendet. Das ist aber kein Fehlverhalten von WP. Cronjobs müssen vom Server gestartet werden. WP ist keine Anwendung die permanent im Hintergrund läuft - so wie jede andere Web-Applikation auch nicht. Ein Aufruf von außen ist daher unbedingt nötig.

    Wenn Du eine echte Zeitsteuerung benötigst, dann brauchst Du ein Webhosting-Paket in dem Du auch Cronjobs anlegen kannst. Wenn das der Fall ist kannst Du das einfach lösen.

    In der wp-config.php gehört folgende Zeile eingetragen:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Dadurch führt WP die anstehende Jobs nicht mehr beim Seitenaufruf aus.

    Per Cron musst Du dann im gewünschten Intervall die wp-cron-php aufrufen.

    Peter
     
    #2 smartware.cc, 21. Januar 2014
    Zuletzt bearbeitet: 21. Januar 2014
  3. dertommy

    dertommy Member

    Registriert seit:
    25. Mai 2011
    Beiträge:
    18
    Zustimmungen:
    0
    Hallo Peter!

    Danke sehr für deine rasche und ausführliche Antwort.
    Ich frage mich jetzt nur, warum kann man dann beim Plugin BackWPup überhaupt unter Cron Jobs eine Zeit einstellen, wenn er das dann sowieso nicht macht?
    Ja, ich habe ein Webhosting Paket, wo ich Cron Jobs auführen kann. Heißt das nun, dass ich bei mir beim Webhosting einstellen muss, wann dieser Cron Job ausgeführt werden muss und nicht beim Plugin BackWPup im Wordpress?
    Was muss ich genau als Befehl eingeben, damit die wp-cron-php aufgerufen wird, einfach nur den Pfad? Kenn mich leider noch nicht sogut aus.

    LG
     
  4. dertommy

    dertommy Member

    Registriert seit:
    25. Mai 2011
    Beiträge:
    18
    Zustimmungen:
    0
    Ich glaube, dass ich es schon gefunden habe. Im Plugin BackWPup steht ein Link zum Aufrufen des Jobs. Diesen werde ich beim Webhosting eintragen.
     
  5. smartware.cc

    smartware.cc Well-Known Member

    Registriert seit:
    14. Januar 2014
    Beiträge:
    227
    Zustimmungen:
    0
    Hallo Thomas,

    super wenn Du schon selbst fündig geworden bist.

    Der Cronjob sollte in etwa so aussehen:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Dass WP das gar nicht macht, stimmt so ja nicht - nur eben nicht genau zur gewünschten Zeit. Bei jedem Aufruf schaut WP in der eigenen internen Cron-Tabelle nach, welche Jobs anstehen und führt die aus. Das erfolgt eben aber oft erst später - abhängig davon wie oft Dein Blog besucht wird. Beim ersten Aufruf nach der geplanten Zeit läuft dann der Job.

    Durch das Einrichten eines echten Cron-Jobs wie beschrieben benützt Du ja auch das Cron-System von WP. Du sorgst in dem Fall lediglich dafür, dass der Aufruf auch zur gewünschten Zeit erfolgt. Aus dem Grund solltest Du den Aufruf auch nicht nur zB um 3:00 machen sondern mehrmals am Tag. Es gibt ja vielleicht mehrere Jobs, die in Deiner WP Cron-Tabelle eingetragen sind. Die würden sonst alle um 3:00 laufen.

    LG
    Peter
     
  6. dertommy

    dertommy Member

    Registriert seit:
    25. Mai 2011
    Beiträge:
    18
    Zustimmungen:
    0
    Hallo Peter!

    Danke sehr für deine Antwort, habe es auch gleich ausprobiert, aber leider wird der Job nicht gestartet. Ich habe folgendes beim meinem Webhoster eingetragen:

    Befehl:

    wget -p -O http://heiderer.at/blog/wp-cron.php?_nonce=50741121&backwpup_run=runext&jobid=1

    Minute: 0

    Stunde: 7

    Tag des Monats: *

    Monat: *

    Wochtentag: *

    Die * stehen für täglich.
    Was kann ich da noch falsch machen? Ist es wirklich notwendig, dass in der wp-config.php den Wert "define('DISABLE_WP_CRON', true);" eintrage? Denn das habe ich habe ich noch nicht gemacht, das steht nämlich auch nicht im Plugin, dass man das machen soll?

    Alternativ gäbe es noch ein ...sh Script, was ich runtergeladen habe und irgendwo auf meinem Server abgelegt habe. Leider kommt dann nach ein paar Minuten folgende Fehlermeldung:

    /bin/sh: /httpdocs/blog/BackWPup_cmd_start_job_1.sh: not found

    Ich hoffe, dass du mir nochmals helfen kannst.

    LG
    Thomas
     
  7. dertommy

    dertommy Member

    Registriert seit:
    25. Mai 2011
    Beiträge:
    18
    Zustimmungen:
    0
    Hallo!

    Habs nun zusammen gebracht, anscheinend muss man den http-Link mit " " machen.

    LG
     
  8. smartware.cc

    smartware.cc Well-Known Member

    Registriert seit:
    14. Januar 2014
    Beiträge:
    227
    Zustimmungen:
    0
    Hallo Thomas,

    der Job, den Du erstellt hast, führt nur das Backup aus und nicht alle anstehenden WP Cron Jobs.

    Wenn Du den Eintrag in der wp-config nicht machst, dann läuft das normale WP Cron-System parallel - also bei jedem Aufruf der Seite. Wenn Du im WP den Job für 3:00 eingetragen hast, den Cronjob aber erst um 7:00 startest dann läuft der womöglich schon früher, weil zB um 5:00 irgend wer Deine Seite aufruft.

    Du hast damit eine komische Mischform aus "echten" und "unechten" Cronjobs. Das würde ich nicht machen. An Deiner Stelle würde ich nur die wp-cron.php ohne Parameter aufrufen. Dann werden von WP alle anstehenden Jobs ausgeführt. Das würde ich zB stündlich machen. Und dafür das WP Cron-System in der wp-config.php deaktivieren.

    Auch wenn der Cronjob stündlich läuft wird immer nur das ausgeführt, was gerade ansteht. Dein Backup läuft dann nicht stündlich.

    Nur so hast Du eine echte Cron-Steuerung und bist nicht abhängig davon, wann Deine Seite aufgerufen wird - und zwar für alle WP Cronjobs.

    LG
    Peter
     
  9. dertommy

    dertommy Member

    Registriert seit:
    25. Mai 2011
    Beiträge:
    18
    Zustimmungen:
    0
    Hallo Peter!

    Danke sehr für deine ausführliche Antwort. Ich verstehe schon was du meinst. Ich werde das berücksichtigen. Sollte ich noch Probleme haben, werde ich mich wieder bei dir melden. Du hast mir auf jeden Fall sehr geholfen.

    LG
    Thomas
     
  10. dertommy

    dertommy Member

    Registriert seit:
    25. Mai 2011
    Beiträge:
    18
    Zustimmungen:
    0
    Hallo Peter!

    Ich bin nun gerade dabei, deinen Rat zu befolgen und würde nochmals gerne sicher gehen, dass ich deinen Rat richten verstanden habe:

    1. den Code "define('DISABLE_WP_CRON', true);" einfach irgendwo in die wp-config.php einfügen (oder muss der an einer bestimmten Stelle stehen)
    2. im Plugin von Wordpress einstellen, dass das Backup um 3 Uhr in der Früh täglich gemacht wird
    3. bei meinem Webhoster stündlich einstellen, dass folgender Befehl ausgeführt werden soll: wget "http://heiderer.at/blog/wp-cron.php?...runext&jobid=1"

    Ich hoffe, dass es dann so passen müsste?

    LG
    Thomas
     
    #10 dertommy, 29. Januar 2014
    Zuletzt bearbeitet: 29. Januar 2014
  11. smartware.cc

    smartware.cc Well-Known Member

    Registriert seit:
    14. Januar 2014
    Beiträge:
    227
    Zustimmungen:
    0
    Hallo Thomas,

    1. einfach irgendwo, nur vor der Zeile "/* That's all, stop editing! Happy blogging. */"
    2. richtig
    3. mit dem Aufruf würde nur dieser eine Job gestartet. Um alle anstehenden WP Cron Jobs abzuarbeiten ruf die wp-cron.php ohne Parameter auf - einfach alles danach inkl. dem Fragezeichen entfernen.

    LG
    Peter
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden