Autor Thema: Cronjobs für Magento 2 einrichten  (Gelesen 7865 mal)

Offline George

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Cronjobs für Magento 2 einrichten
« am: 21.01.2017 08:02 »
Hallo Gemeinde,

für den einwandfreien Lauf von Magento 2 auf unserem Flex Server müssen 3 Cronjobs angelegt werden:

/bin/magento cron:run
/update/cron.php
/bin/magento setup:cron:run

Mangels root-Zugriff fällt die Einrichtung über Befehlszeile weg, dafür gibt es die Möglichkeit, über den Kunden-Login der entsprechenden Domain unter "Cronjobs" diese einzurichten.

Nach meinem Verständnis müsste dort also der Eintrag in der Befehlszeile wie folgt lauten:

/home/mein_benutzername/meine_domain/mein_magento2_verzeichnis/bin/magento cron:run
Allerdings erhalte ich die Meldung: "Bitte geben Sie ein gültiges Ziel an!"

Was mache ich falsch?

MfG George

Offline George

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Re: Cronjobs für Magento 2 einrichten
« Antwort #1 am: 21.01.2017 11:48 »
Ohne Argumente findet die Befehlszeile das Ziel, wie also können die Argumente gesetzt werden?

Offline C. Grommel - Profihost

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 505
    • Profil anzeigen
    • Profihost AG
Re: Cronjobs für Magento 2 einrichten
« Antwort #2 am: 23.01.2017 10:47 »
Hallo George!

Die Lösung kennen Sie inzwischen ja bereits. Für alle anderen: Es muss mit einem sogenannten Wrapper-Skript gearbeitet werden, in dem die gewünschten Aufrufe erfolgen.

Ein solches Skript kann zum Beispiel wie folgt aussehen, um die Magento Crons zu starten:

#!/bin/bash

/usr/local/php5.6./bin/php -c /home/USER /home/USER/PFAD-ZU-MAGENTO/bin/magento setup:cron:run
/usr/local/php5.6./bin/php -c /home/USER /home/USER/PFAD-ZU-MAGENTO/bin/magento cron:run

USER muss entsprechend mit Ihrem Usernamen und der Pfad zur Magento Installation angepasst werden.
Das Skript können Sie nun auf Ihren Webspace am besten außerhalb Ihres Webordners ablegen und mit Ausführungsrechten versehen. Anschließen binden Sie das Skript als Cronjob in Servercon mit dem gewünschten Intervall ein.
Mit freundlichen Grüßen
Carsten Grommel
Profihost Team

Impressum

Offline George

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Re: Cronjobs für Magento 2 einrichten
« Antwort #3 am: 23.01.2017 11:10 »
Hallo Carsten,

nochmals vielen Dank für die schnelle Hilfe!

Leider bekomme ich per Mail derzeit noch folgende Fehlermeldung:

/home/USER/cronjobs/cron_magento.sh: line 3: /usr/local/php5.6./bin/php: No such file or directory
/home/USER/cronjobs/cron_magento.sh: line 4: /usr/local/php5.6./bin/php: No such file or directory
/home/USER/cronjobs/cron_magento.sh: line 5: /usr/local/php5.6./bin/php: No such file or directory

Wobei ich hier jetzt unseren Benutzernamen mit USER ersetzt habe...

MfG George

Offline George

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Re: Cronjobs für Magento 2 einrichten
« Antwort #4 am: 23.01.2017 17:38 »
Nach einem weiteren freundlichen Telefonat mit der Technik konnte der Fehler lokalisiert werden:

der Punkt hinter php5.6 war zuviel, klein aber gemein.

Jetzt laufen die Jobs und damit die Magento2-Installation einwandfrei.

Euer Support ist unschlagbar, vielen Dank!

Offline sven.klotz

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
Re: Cronjobs für Magento 2 einrichten
« Antwort #5 am: 02.05.2017 11:56 »
Hallo.

Ich habe auch einen CronJob auf unserem Flexserver aufgesetzt.

#!/bin/bash

/usr/local/php7.0/bin/php -c /home/somjtqom /home/somjtqom/www.somfy-partnershop.de/bin/magento setup:cron:run
/usr/local/php7.0/bin/php -c /home/somjtqom /home/somjtqom/www.somfy-partnershop.de/bin/magento cron:run


Beim ersten befehl bekomme ich eine Fehlermeldung:[2017-05-02 10:07:53] setup-cron.ERROR: Your current PHP memory limit is 128M. Magento 2 requires it to be set to 756M or more. As a user with root privileges, edit your php.ini file to increase memory_limit. (The command php --ini tells you where it is located.) After that, restart your web server and try again. [] []

Meine Fragen: Ist die Reihenfolge richtig und was machen die Befehle genau? Was macht die Datei /update/cron.php?

Grüße
Sven
« Letzte Änderung: 02.05.2017 12:09 von sven.klotz »

Offline George

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Re: Cronjobs für Magento 2 einrichten
« Antwort #6 am: 03.05.2017 20:50 »
Hallo Sven,

die Fehlermeldung dürfte sich beheben lassen, indem Du in der php7.0.ini den Eintrag memory_limit = 128M auf memory_limit = 2G änderst.

Magento 2 benötigt, wie aus der Fehlermeldung ersichtlich, wenigstens 756MB Arbeitsspeicher, um reibungslos zu funktionieren.

Die Reihenfolge der Befehle ist richtig, magento setup:cron:run kümmert sich, sofern ich es richtig verstanden habe, um die Überprüfung der Aktualität der Shopsoftware und ihrer Komponenten, der zweite erledigt die für den Betrieb des Shops nötigen Aufgaben.

Die /update/cron.php überprüft zum einen das Vorhandensein der Cronjobs und steuert die mit dem Update des Shops verbundenen Jobs an.

MfG George

Offline olidev

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
Re: Cronjobs für Magento 2 einrichten
« Antwort #7 am: 07.07.2017 10:12 »
Hallo Gemeinde,

für den einwandfreien Lauf von Magento 2 auf unserem Flex Server müssen 3 Cronjobs angelegt werden:

/bin/magento cron:run
/update/cron.php
/bin/magento setup:cron:run

Mangels root-Zugriff fällt die Einrichtung über Befehlszeile weg, dafür gibt es die Möglichkeit, über den Kunden-Login der entsprechenden Domain unter "Cronjobs" diese einzurichten.

Nach meinem Verständnis müsste dort also der Eintrag in der Befehlszeile wie folgt lauten:

/home/mein_benutzername/meine_domain/mein_magento2_verzeichnis/bin/magento cron:run
Allerdings erhalte ich die Meldung: "Bitte geben Sie ein gültiges Ziel an!"

Was mache ich falsch?

MfG George


You need to create 2 files for setting up cron jab.

First, create crontab.xml file in the app/code/Magenticians/Mymodule/etc folder. You need to enter you configuration in this file, like what is the job name and the method.

Now, create run.php file in app/code/Magenticians/Mymodule/Cron folder. You need to enter the execution of cron condition in it.

Source: https://magenticians.com/setup-cron-job-magento-2/