Verwenden Sie den Crontab-Befehl in der Linux-Umgebung, um geplante periodische Ausführungsaufgaben einzurichten [einschließlich PHP-Ausführungscode].

Verwenden Sie den Crontab-Befehl in der Linux-Umgebung, um geplante periodische Ausführungsaufgaben einzurichten [einschließlich PHP-Ausführungscode].

Dieser Artikel verwendet den Befehl crontab in der Linux-Umgebung, um die geplante regelmäßige Ausführung von Aufgaben einzurichten. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

Laut der Linux-Hilfe hat der Befehl crontab die folgenden Parameter:

-u Benutzername: Gibt den Benutzer an, der den Timer bedienen soll
-e: Timer bearbeiten (alle)
-l: Zeitgeber anzeigen
-r: Timer löschen (löscht die Crontab-Datei eines Benutzers aus dem Verzeichnis /var/spool/cron und löscht standardmäßig den aktuellen Benutzer)
-i: Timer löschen (vor dem Löschen Bestätigungsaufforderung)

Anwendungsszenario 1:

Führen Sie regelmäßig einige statistische Geschäftsvorgänge durch, z. B. das Zählen der Leistung aller Verkäufer und jedes Teams am Vortag, der Anzahl der Personen in jedem Team, der Anzahl der Aufgaben, des Grads der Erledigung usw. jeden Tag um 0:00 Uhr und das Einfügen in die Datenbank zur einfachen Anzeige

Anwendungsszenario 2:

Anstatt einige sich wiederholende Vorgänge manuell auszuführen, habe ich beispielsweise, als meine Freundin auf die Bekanntgabe des Ergebnisses für die Zulassungsprüfung für das Postgraduiertenstudium wartete, ein Zeitprogramm geschrieben, um die Schlagzeilen der Website für die Zulassungsprüfung für das Postgraduiertenstudium in Echtzeit zu überwachen und gleichzeitig eine Verbindung zur Plattform für SMS-Bestätigungscodes herzustellen. Sobald sich der Titel der Schlagzeile ändert, wird eine Textnachricht an das Mobiltelefon gesendet.

(Im Folgenden wird der Crontab-Befehl aus Szenario 2 als Beispiel verwendet)

Der auszuführende jianting.php-Code:

<?php
  $log = "/var/www/html/log.txt"; //Protokolldatei (Beachten Sie, dass Schreibrechte festgelegt werden müssen)
  $url = 'http://yz.chsi.com.cn/'; //Zu überwachende URL $info = file_get_contents($url); //Homepage-HTML abrufen
  preg_match('|<h4>(.*?)<\/h4>|i',$info,$m);//Regulärer Inhalt der Überschrift if($m[1] != '<a href="/sytj/tjyx/gosytj.action?entrytype=yzgr" rel="external nofollow" target="_blank">2018 National Master's Admissions Adjustment Intention Collection Service System</a>') { //Der Titel hat sich geändert//Beurteilen Sie, ob das Protokoll einen Datensatz enthält. Wenn es leer ist, zeichnen Sie einen auf und senden Sie eine Textnachricht oder E-Mail-Benachrichtigung $str = file_get_contents($log);
    $str = trim($str);
    $bom = pack('H*','EFBBBF');
    $str = preg_replace("/^$bom/", '', $str); //BOM entfernen
    wenn($str == ""){
      $text = 'Auf Änderungen warten';   
      file_put_contents($log,$text,DATEI_ANHÄNGEN);
      //SMS- oder E-Mail-Vorgänge senden ...
    }
  }

Verwenden Sie den Befehl „which“ in Linux, um den PHP-Installationspfad anzuzeigen:

welches php

Um eine geplante Aufgabe einzurichten, hier ein aus dem Internet geklautes Bild (Beschreibung im Crontab-Format):

crontab -e

//Führen Sie die vom PHP-Installationspfad ausgeführte PHP-Datei aus (beachten Sie, dass die Ausführungsberechtigung festgelegt ist)
Beispiel: 5 0 * * * /usr/bin/php /var/www/html/jianting.php //Wird jeden Tag um 5:00 Uhr ausgeführt

Ein Beispiel für das Schreiben eines Befehls, der alle 10 Sekunden ausgeführt wird:

* * * * * /usr/bin/php /var/www/html/jianting.php
* * * * * schlafen 10; /usr/bin/php /var/www/html/jianting.php
* * * * * schlafen 20; /usr/bin/php /var/www/html/jianting.php
* * * * * schlafen 30; /usr/bin/php /var/www/html/jianting.php
* * * * * Schlaf 40; /usr/bin/php /var/www/html/jianting.php
* * * * * Schlaf 50; /usr/bin/php /var/www/html/jianting.php

Überprüfen Sie nun, ob eine geplante Aufgabe vorhanden ist:

crontab -l

Starten Sie den Crontab-Dienst neu.

Service Crond Neustart

Ich habe den Server gewechselt und bin auf das Problem gestoßen, dass PHP-Dateien nicht ausgeführt werden können. Die Lösung ist:

5 0 * * * /usr/bin/curl http://www.xxx.com/jianting.php //Verwenden Sie den Befehl curl, um auf die PHP-Datei zuzugreifen 5 0 * * * cd /var/www/html && /usr/bin/php /var/www/html/jianting.php

Ich hoffe, dieser Artikel hilft Ihnen bei der Konfiguration Ihres Linux-Servers.

Das könnte Sie auch interessieren:
  • Lösung für die zeitliche Steuerung der Linux-Crontab-Ausführung von Shell-Skripten, wenn bestimmte Befehle ausgeführt werden müssen
  • Detaillierte Erklärung und Zusammenfassung der Verwendung des Crontab-Befehls für geplante Linux-Aufgaben
  • Detaillierte Erläuterung des geplanten Ausführungsbefehls von Crontab unter Linux
  • Regelmäßiges Ausführen von Befehlen und Skripten unter Linux (cron, crontab, anacron)
  • Detaillierte Erläuterung der at- und crontab-Befehle zur geplanten Ausführung von Aufgaben in Linux
  • Linux Crontab-Befehle starten, ausführen und bearbeiten
  • Linux-Crontab-Befehlsformat und ausführliche Beispiele (empfohlen)
  • Verwendung des Linux-Crontab-Befehls

<<:  Die Implementierung der Ereignisbindung in React verweist auf drei Methoden

>>:  Lösung für das Problem, dass die lokale MySQL-Anmeldung keine Portnummer zum Anmelden verwenden kann

Artikel empfehlen

So exportieren Sie MySQL-Abfrageergebnisse in CSV

Um MySQL-Abfrageergebnisse in CSV zu exportieren,...

Lernen Sie die Ausführungsreihenfolge von SQL-Abfragen von Grund auf

Die Ausführungsreihenfolge der SQL-Abfrageanweisu...

Detaillierte Erklärung zum Problem der CSS-Klassennamen

Die folgenden CSS-Klassennamen, die mit einer Zah...

Mehrere Möglichkeiten zum Berechnen des Alters anhand des Geburtstags in MySQL

Ich habe MySQL vorher nicht sehr oft verwendet un...

Detaillierte Erklärung des MySQL-Triggerbeispiels

Inhaltsverzeichnis Was ist ein Auslöser Erstellen...

So stellen Sie mit Docker schnell einen Elasticsearch-Cluster bereit

In diesem Artikel werden Docker Container (orches...

Was tun, wenn Sie das ursprüngliche Passwort für MySQL auf dem MAC vergessen?

Die Methode zur Lösung des Problems, das anfängli...

Lösungen für das Problem der Tabellenschachtelung und Rahmenzusammenführung

【Frage】 Wenn die äußere und die innere Tabelle ve...

Fallstudie zu den SQL ROW_NUMBER()- und OVER()-Methoden

Syntaxformat: row_number() über (Partition durch ...

Das Bildelement img hat in IE6 zusätzlichen Leerraum

Beim Erstellen eines DIV+CSS-Layouts einer Seite ...

So implementieren Sie eine einzelne Dateikomponente in JS

Inhaltsverzeichnis Überblick Einzelne Dateikompon...

Beispiel für die horizontale Anordnung von li-Tags in HTML

Die meisten Navigationsleisten sind horizontal an...

Standard-CSS-Stil der XHTML-Sprache

html,Adresse, Blockzitat, Körper, dd, div, dl,dt,...