Ich habe eine Webanwendung, die wiederholte Aufgaben ausführen muss. Nachrichten und Warnungen senden. Ich verwende bereits eine Skriptseite, um diese Aufgaben auszuführen, wenn sie in den Browser geladen wird, z. B. http://example.com/tasks). php und ich habe es durch iframe in jede Seite meiner Webanwendung eingefügt.
Jetzt möchte ich dies ändern, um CRON-Jobs zu verwenden, da der erste Ansatz möglicherweise zu einer Jam-Performance führt. Wie kann ich also einen CRON-Job erstellen, der http://example.com/tasks.php aufruft? Ich möchte jedoch nicht, dass dieser CRON-Job Ausgabedateien wie "Tag" erstellt. *!
Ich hosten die Anwendung auf einem gemeinsam genutzten Hosting-Dienst, der CRON-Jobs über cPanel ermöglicht.
* * * * * wget -O - http://yoursite.com/tasks.php >/dev/null 2>&1
Das sollte für dich funktionieren. Haben Sie einfach ein wget
Skript, das die Seite lädt.
Mit -O -
bedeutet, dass die Ausgabe der Webanforderung an STDOUT gesendet wird (Standardausgabe)
beim Hinzufügen >/dev/null
wir weisen die Standardausgabe an, zu einem schwarzen Loch umzuleiten. beim Hinzufügen 2>&1
Wir weisen STDERR (Fehler) an, auch an STDOUT gesendet zu werden, und daher werden alle Ausgaben an ein Schwarzes Loch gesendet. (so wird die Website geladen, aber niemals irgendwo eine Datei geschrieben)
Du brauchst die Umleitung nicht, sondern nur
* * * * * wget -qO /dev/null http://yoursite.com/tasks.php
Sie können curl
verwenden, wie in diesem Thread
Für die Faulen:
*/5 * * * * curl --request GET 'http://exemple.com/path/check.php?param1=1'
Dies wird alle 5 Minuten ausgeführt.
Sie können auch die lokale Kommandozeile php-cli verwenden:
* * * * * php /local/root/path/to/tasks.php > /dev/null
Es ist schneller und verringert die Last für Ihren Webserver.
ich benutze diese Befehle
wget -q -O /dev/null "http://example.com/some/cron/job.php" > /dev/null 2>&1
Cron task:
* * * * * wget -q -O /dev/null "http://example.com/some/cron/job.php" > /dev/null 2>&1
sie können dies für URL mit Parametern verwenden:
lynx -dump "http://vps-managed.com/tasks.php?code=23456"
lynx ist standardmäßig auf allen Systemen verfügbar.
Sie können diesen Befehl verwenden:
links https://www.honeymovies.com
Sie können dies versuchen: -
wget -q -O - http://www.example.com/>/dev/null 2> & 1
* * * * * wget --quiet https://example.com/file --output-document=/dev/null
Ich finde --quiet
klarer als -q
, und --output-document=/dev/null
klarer als -O - > /dev/null