PHP ändert vom System geplante Aufgaben

WBOY
Freigeben: 2023-05-23 11:23:37
Original
536 Leute haben es durchsucht

Da die Modernisierung des Internets weiter voranschreitet, müssen immer mehr Websites und Anwendungen bestimmte Vorgänge über geplante Aufgaben ausführen, wie z. B. das Sichern von Datenbanken, das Versenden von E-Mails usw. Wenn wir ein Linux-System verwenden, verwenden wir normalerweise „Crontab“, um geplante Aufgaben festzulegen.

Crontab ist ein häufig verwendetes Tool zur Verwaltung geplanter Aufgaben in Linux-Systemen. Es ermöglicht uns, bestimmte Befehle, Skripte oder Programme automatisch zu einem bestimmten Zeitpunkt auszuführen und so den Aufwand manueller Vorgänge zu reduzieren. Allerdings kann es in PHP bei der direkten Verwendung von Crontab zur Verwaltung geplanter Aufgaben zu betrieblichen Schwierigkeiten kommen, sodass wir andere Methoden zur Verwaltung unserer geplanten Aufgaben finden müssen.

Im Vergleich zu Crontab können wir „crontabphp“ in PHP als Manager für geplante Aufgaben verwenden, wodurch wir geplante Aufgaben in PHP einfach erstellen, ändern und löschen können, ohne sie über die Shell ausführen zu müssen. Als nächstes stellen wir vor, wie man crontabphp verwendet, um geplante Systemaufgaben zu ändern.

  1. crontabphp installieren
    Zuerst müssen wir crontabphp herunterladen und installieren. Sie können die neueste crontabphp unter der folgenden URL herunterladen: https://github.com/eluces/crontab-php

Nachdem der Download abgeschlossen ist, können Sie die dekomprimierte Datei in Ihrem speichern Beliebiges Verzeichnis in Ihrem Website-Projekt und fügen Sie diese Datei in Ihre PHP-Datei ein. Wenn Ihre Crontabphp-Datei beispielsweise im Verzeichnis „/var/www/html/crontabphp/“ gespeichert ist, können Sie den folgenden Code verwenden, um in Ihrer PHP-Datei darauf zu verweisen:

include_once(' / var/www/html/crontabphp/Crontab.php');

Nachdem die Einführung erfolgreich war, können wir beginnen, crontabphp zur Verwaltung geplanter Aufgaben zu verwenden.

  1. Eine geplante Aufgabe erstellen
    Es ist sehr einfach, crontabphp in PHP zu verwenden, um eine geplante Aufgabe zu erstellen. Hier ist ein Beispielcode:

$crontab = new CrontabCrontab();
$task = new CrontabTaskShellTask('php /path/to/your/script.php') ;
$task->setMinute('*')

->setHour('*')
->setDayOfMonth('*')
->setMonth('*')
->setDayOfWeek('*');
Nach dem Login kopieren

$crontab->addTask($task);

Dieser Code erstellt ein A Die geplante Aufgabe mit dem Namen „task“ wird zum Ausführen des Skripts „/path/to/your/script.php“ verwendet.

Die erste Codezeile im obigen Code erstellt ein Crontab-Objekt zum Verwalten geplanter Aufgaben. Die zweite Codezeile erstellt ein ShellTask-Objekt, das einen auszuführenden Befehl oder ein Skript darstellt. In diesem Code verwenden wir die Systemfunktion von PHP, um ein PHP-Skript auszuführen.

In den nächsten Codezeilen legen wir die Ausführungszeit für unsere geplante Aufgabe fest. In diesem Beispielcode wird die Aufgabe so eingestellt, dass sie jede Minute ausgeführt wird, aber die Ausführungszeit kann auch entsprechend Ihren Anforderungen angepasst werden (z. B. kann eine Aufgabe zur Durchführung eines Hot-Backups so eingestellt werden, dass sie jeden Tag um drei Uhr ausgeführt wird). ).

Abschließend verwenden wir die Methode addTask() des Crontab-Objekts, um diese Aufgabe zur Liste der geplanten Aufgaben hinzuzufügen, damit sie automatisch und regelmäßig ausgeführt werden kann.

  1. Eine geplante Aufgabe ändern
    In PHP können wir crontabphp verwenden, um eine vorhandene geplante Aufgabe zu ändern. Wenn wir beispielsweise die Ausführungszeit einer Aufgabe von stündlich auf jede halbe Stunde ändern möchten, können wir den folgenden Code verwenden:

$crontab = new CrontabCrontab(); 🎜🎜#$tasks = $crontab->getTasks();
foreach ($tasks as $task) {

if ($task->getCommand() === 'php /path/to/your/script.php') {
    $task->setMinute('/30');
    $crontab->updateTask($task);
}
Nach dem Login kopieren

}

Dieser Code wird abgerufen Sehen Sie sich alle derzeit vorhandenen geplanten Aufgaben an und finden Sie heraus, ob es eine davon gibt, die wir ändern möchten. Wenn die entsprechende Aufgabe gefunden wird, ändern wir die Ausführungszeit der Aufgabe von „Einmal pro Stunde ausführen“ auf „Einmal jede halbe Stunde ausführen“. Schließlich verwenden wir die updateTask()-Methode des Crontab-Objekts, um die Ausführungszeit der Aufgabe zu aktualisieren.

    Eine geplante Aufgabe löschen
  1. Wenn Sie eine vorhandene geplante Aufgabe löschen möchten, ist es auch sehr praktisch, crontabphp zu verwenden. Hier ist ein einfacher Beispielcode:
$crontab = new CrontabCrontab();

$tasks = $crontab->getTasks();
foreach ( $ Aufgaben als $task) {

if ($task->getCommand() === 'php /path/to/your/script.php') {
    $crontab->removeTask($task);
}
Nach dem Login kopieren
}

Dieser Code ruft alle derzeit vorhandenen geplanten Aufgaben ab und findet heraus, ob es Aufgaben gibt, die wir löschen möchten. Wenn die entsprechende Aufgabe gefunden wird, können wir die Methode „removeTask()“ des Crontab-Objekts verwenden, um die Aufgabe aus der Liste der geplanten Aufgaben zu löschen. Damit ist der Vorgang zum Löschen der geplanten Aufgabe abgeschlossen.

Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mit crontabphp geplante Systemaufgaben erstellen, ändern und löschen. Mit crontabphp können geplante Aufgaben einfach verwaltet werden, wodurch die umständliche und schwierige Verwendung der Shell-Befehlszeile für den Betrieb vermieden wird und unsere Vorgänge präziser und effizienter werden.

Das obige ist der detaillierte Inhalt vonPHP ändert vom System geplante Aufgaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage