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

Design-Story: Der Wachmann, der sich Nummernschilder nicht merken kann

<br />Um die Fahrzeuge zu regeln, die in die...

Kommentare auf Webseiten verursachen Textüberlauf im Internet Explorer

Der experimentelle Code lautet wie folgt: </hea...

js zum Implementieren von Details im Datei-Upload-Stil

Inhaltsverzeichnis 1. Übersicht 2. Parameter zum ...

MySQL 5.7.21 Installations- und Konfigurations-Tutorial unter Windows 10

Dieser Artikel zeichnet die Installations- und Ko...

Befehl zum Anzeigen der Erstellungszeit der Binlog-Datei unter Linux

Inhaltsverzeichnis Hintergrund analysieren Verfah...

Lassen Sie uns über Parameter in MySQL sprechen

Vorwort: In einigen früheren Artikeln haben wir h...