Ich muss einen Cron-Job in cpanel einrichten, der einmal pro Woche eine URL (auf demselben Server) aufruft. Ich wollte wget verwenden, aber es stellte sich heraus, dass dies auf dem gemeinsam genutzten Server deaktiviert ist.
Gibt es eine Alternative zu wget ? Ich habe gehört, dass Curl verwendet werden kann, aber ich weiß nicht, wie ich das in einem Cron-Befehl einrichten soll.
Und wie lautet der Befehl, damit der Cronjob nach Abschluss keine Aktion ausführt?
Irgendwelche Ideen sehr geschätzt!
Antworten:
Anstatt Wget zu verwenden, funktioniert Curl folgendermaßen:
was genauso funktioniert wie wget. Wenn es sich um eine PHP-Datei handelt, die Sie starten, kann sie aus irgendeinem Grund nicht über den Befehlszeilen-PHP-Interpreter wie folgt ausgeführt werden:
dasselbe gilt für eine Webserver-Anfrage und funktioniert häufig viel schneller und ohne bestimmte Timeout-Einschränkungen, wenn sie über den Webserver / curl aufgerufen werden
quelle
-url
im Home-Verzeichnis des Benutzers, der das Skript ausführt, aufgerufen wird und die Ausgabe Ihrer PHP-Datei enthält. Alle anderen Ausgaben gehen an / dev / null.Wenn Locken verfügbar ist, können Sie etwas ausprobieren
Das sollte dazu führen, dass die Locke völlig still ist, sodass Sie nach Abschluss keine E-Mails mehr erhalten.
quelle
Ich würde vorschlagen, zusätzlich zu --silent den Parameter "-m" hinzuzufügen, da dieser Parameter die maximal zulässige Zeit für die Übertragung festlegt. Stellen Sie sich vor, Sie rufen den Cron jede Minute an und das Skript benötigt 2 Minuten - dies kann sich negativ auf die Serverauslastung oder andere Dinge auswirken.
quelle