web-dev-qa-db-ger.com

Verwenden Sie CRON-Jobs, um die URL zu besuchen?

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.

77
SaidbakR
* * * * * 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)

203
Mitch Dempsey

Du brauchst die Umleitung nicht, sondern nur

* * * * * wget -qO /dev/null http://yoursite.com/tasks.php
23

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.

18
Jerzy Drożdż

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.

9
mrraka

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
7
Abbas Arif

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.

2
VPS-Managed.com

Sie können diesen Befehl verwenden:

links https://www.honeymovies.com
2
Abdul Alim

Sie können dies versuchen: -

 
 wget -q -O - http://www.example.com/>/dev/null 2> & 1 
 
1
Walk

* * * * * 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

1
Vladimir Kornea