Ich habe ein neues Ubuntu 16.04 installiert, um mein Windows-Betriebssystem zu ersetzen.
Ich versuche, Cronjobs einzurichten, um Mangento 2.1 über Ampps softaculous auszuführen. Die Software wurde erfolgreich installiert (sowohl Ampps als auch Magento) und läuft einwandfrei. Ich versuche, eine Crontab einzurichten, aber es scheint, dass in der zweiten Zeile der zweiten Zeile 25 ein Fehler vorliegt.
Dies ist, was ich versuche, mit dem Befehl zur crontab für den Ampps-Benutzer hinzuzufügen sudo crontab -e -u ampps
* * * * * /usr/local/ampps/php-5.6/etc
/usr/local/ampps/www/localshop.dev/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /usr/local/ampps/www/localshop.dev/var/log/magento.cron.log
* * * * * /usr/local/ampps/php-5.6/etc
/usr/local/ampps/www/localshop.dev/update/cron.php >> /usr/local/ampps/www/localshop.dev.dev/var/log/update.cron.log
* * * * * /usr/local/ampps/php-5.6/etc
/usr/local/ampps/www/localshop.dev.dev/bin/magento setup:cron:run >> /usr/local/ampps/www/localshop.dev.dev/var/log/setup.cron.log
Was mache ich falsch?
Ich habe in magento 2.1 admin eine Fehlermeldung erhalten, die auf diesen Link zur Fehlerbehebung für die Version 2.0 und auf dieses Konfigurationshandbuch verweist
* * * * *
socron
können die Elemente nicht interpretieren. Crontabs werden durch Zeilenumbrüche mit dem Status "Diese Aufgabe wird mit der angegebenen Konfiguration ausgeführt, und diese Aufgabe wird mit einer anderen usw. ausgeführt." Getrennt . Ist dies nur ein Formatierungsfehler beim Kopieren / Einfügen oder bestehen die Zeilenumbrüche tatsächlich zwischen/usr/local/ampps/php-5.6/etc
und den restlichen Zeilen, wie die Code-Formatierung zeigt?crontab
Einträgen, die entweder nicht vorhanden oder nicht mehr erkennbar sind. Es ist in Ordnung, einen Tippfehler oder eine schlechte Formulierung zu korrigieren, aber keinen Fehler, wenn Sie dabei die Bedeutung Ihres Beitrags entfernen. In diesem Fall können Ihre Leser nicht mehr verstehen, was das Programm war. Liege ich hier falschAntworten:
Jede Crontab-Zeile muss mit einer Zeit beginnen, zu der der Befehl ausgeführt werden soll, und dann mit dem Befehl. Das allgemeine Format ist:
command
Um jeden Sonntag um 10:15 Uhr zu laufen , müssen Sie Folgendes tun:Ich bin nicht sicher, was Ihre Befehle sind, aber Sie haben Zeilen, die nicht mit einer Zeitdefinition beginnen. Ich verstehe nicht, was solche Zeilen sind:
Das ist eine Zeit, aber kein Befehl. Sie geben ihm ein Verzeichnis. Und Zeilen wie diese haben Befehle, aber keine Zeit:
Stellen Sie also sicher, dass Sie dem Format folgen und es Ihnen gut gehen sollte. Wenn dies nicht klar ist, bearbeiten Sie Ihre Frage und erklären Sie, welche Befehle Sie ausführen möchten.
quelle
Nach meiner vorherigen Erfahrung lag es an einem CR / LF-Zeichen vor der ersten Cron-Zeile (da es unter Windows und nicht direkt unter Linux bearbeitet wurde). Ich habe dieses Zeichen bemerkt und aus einem HEX-Editor entfernt.
quelle
Dieser Fehler tritt auch auf, wenn Ihre / var / spool / cron-Partition zu 100% voll ist. Überprüfen Sie Ihren freien Speicherplatz und stellen Sie sicher, dass dort einige Bytes frei sind.
quelle
Diese Art von Fehler kann auch auftreten, wenn Sie versuchen, Cron-Variablen auf leere Werte wie diesen zurückzusetzen:
Beachten Sie die leere Zeile nach
MAILTO=
Zeile 3. Dies führt zu der folgenden Meldung:Der richtige Weg, eine
MAILTO
Variable zurückzusetzen, besteht darin, leere Anführungszeichen wie folgt zu verwenden:Hoffe das hilft.
quelle
Der folgende Befehl hat mein Problem mit diesem Problem behoben
Das Problem war, dass Windows Line Separators (CRLF) das Linux-basierte Cron störten. Das Problem wurde behoben, indem die Trennzeichen in Linux-Zeilentrennzeichen (LF) geändert wurden.
quelle
In meinem Fall (und es scheint auch der Fall von OP zu sein) bestand das Problem darin, dass ich eine neue Zeile im auszuführenden Befehl hatte, so etwas in der Art
Die überlaufende Zeile wurde natürlich als neuer Cron-Eintrag interpretiert, und Cron beklagte sich zu Recht, dass der Anfang dieser Zeile keine gültige Minutenkennung sei.
quelle