Website-Suche

So führen Sie PHP-Skripte als normaler Benutzer mit Cron aus


Cron ist ein leistungsstarkes Dienstprogramm zur zeitbasierten Planung von Jobs in Unix-ähnlichen Betriebssystemen, einschließlich Linux. Es wird als Daemon ausgeführt und kann zum Planen von Aufgaben wie Befehlen oder Shell-Skripten zum Durchführen von Sicherungen, Planen von Aktualisierungen und vielem mehr verwendet werden, die regelmäßig und automatisch im Hintergrund zu bestimmten Zeiten, Daten oder Intervallen ausgeführt werden.

Eine Einschränkung von cron besteht darin, dass davon ausgegangen wird, dass ein System ewig läuft; Daher ist es für andere Server als Desktop-Computer geeignet. Darüber hinaus können Sie eine Aufgabe zu einem bestimmten oder späteren Zeitpunkt planen, indem Sie die Befehle „at“ oder „batch“ verwenden: Die Aufgabe wird jedoch nur einmal ausgeführt (sie wird nicht wiederholt).

Empfohlene Lektüre: So planen Sie Jobs mit Anacron unter Linux

In diesem Artikel erklären wir, wie man einem normalen Systembenutzer ermöglicht, ein PHP-Skript über einen Cron-Job-Scheduler unter Linux auszuführen oder auszuführen.

Sie können Jobs mit dem Programm crontab (CRON TABle) planen. Jeder Benutzer kann seine eigene Crontab-Datei haben, die aus sechs Feldern zum Definieren eines Jobs besteht:

  • Minute – akzeptiert Werte zwischen 0 und 59.
  • Stunde – akzeptiert Werte zwischen 0 und 23.
  • Tag des Monats – speichert Werte zwischen 1 und 31.
  • Monat des Jahres – speichert Werte zwischen 1 und 12 oder Jan. und Dez. Sie können die ersten drei Buchstaben des Monatsnamens verwenden, z. B. Jan oder Jun.
  • Wochentag – enthält Werte zwischen 0 und 6 oder So-Sa. Hier können Sie auch die ersten drei Buchstaben des Namens jedes Tages verwenden, z. B. So oder Wed.
  • Befehl – auszuführender Befehl.

Geben Sie Folgendes ein, um Einträge in Ihrer eigenen Crontab-Datei zu erstellen oder zu bearbeiten:

crontab -e

Und um alle Ihre Crontab-Einträge anzuzeigen, geben Sie diesen Befehl ein (wodurch die Crontab-Datei einfach in der Standardausgabe ausgegeben wird):

crontab -l

Wenn Sie jedoch Systemadministrator sind und ein PHP-Skript als anderer Benutzer ausführen möchten, müssen Sie es in der Datei /etc/crontab oder der Crontab-Datei des Root-Benutzers planen, die ein zusätzliches Feld zur Angabe unterstützt der Nutzername:

sudo vi /etc/crontab

Und planen Sie die Ausführung Ihres PHP-Skripts wie folgt: Geben Sie nach dem Timing-Abschnitt den Benutzernamen an.

0 0 * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

Der obige Eintrag führt das Skript /var/www/test_site/cronjobs/backup.php jeden Tag um Mitternacht als Benutzer tecmint aus.

Wenn Sie das obige Skript automatisch alle zehn Minuten ausführen möchten, fügen Sie den folgenden Eintrag zur Crontab-Datei hinzu.

*/10 * * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

Im obigen Beispiel stellt */10 * * * * dar, wann der Job ausgeführt werden soll. Die erste Abbildung zeigt Minuten – in diesem Szenario alle „zehn“ Minuten. Die anderen Zahlen zeigen jeweils Stunde, Tag, Monat und Wochentag.

Vielleicht möchten Sie auch die folgenden verwandten Artikel lesen.

  1. Verwenden von Shell-Scripting zur Automatisierung von Linux-Systemwartungsaufgaben
  2. 12 nützliche PHP-Befehlszeilenverwendungen, die jeder Linux-Benutzer kennen muss
  3. So führen Sie PHP-Codes im Linux-Terminal aus
  4. 30 nützliche Linux-Befehle für Systemadministratoren

Das ist alles! Wir hoffen, dass Sie diesen Artikel nützlich finden. Wenn Sie Fragen oder zusätzliche Ideen zu diesem Thema haben, verwenden Sie das Kommentarformular unten.