Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > Linux führt regelmäßig das PHP-Startup-Task-Skript aus (Schrittanalyse)

Linux führt regelmäßig das PHP-Startup-Task-Skript aus (Schrittanalyse)

铁手
Freigeben: 2022-08-17 09:22:47
Original
1732 Leute haben es durchsucht

Vor Kurzem bin ich bei der Arbeit auf eine Situation gestoßen, in der ich den PHP-Dienst von Zeit zu Zeit neu starten musste. Daher dachte ich darüber nach, ein geplantes Ausführungsskript zu verwenden, um den PHP-Prozess neu zu starten. Deshalb habe ich Linux verwendet, um ein Ausführungsskript zu schreiben wie folgt:

Schritt 1: Erstellen Sie eine geplante Skriptdatei cron.sh (der Dateiname endet optional mit .sh).

Der Referenzcode lautet wie folgt (log.txt ist eine Protokolldatei zur einfachen Anzeige des Ausgabeinhalts):

echo "supervisorctl restart..." >> /var/www/html/log.txt
start_time=$(date)
echo $start_time >> /var/www/html/log.txt
echo >> /var/www/html/log.txt
supervisorctl restart all
end_time=$(date)
echo "supervisorctl end" >> /var/www/html/log.txt
echo $end_time >> /var/www/html/log.txt
echo >> /var/www/html/log.txt
Nach dem Login kopieren

Ich verwende supervisorctl, um den PHP-Prozess zu verwalten (Sie können die offizielle Dokumentation für die Verwendung von supervisorctl überprüfen). Natürlich können auch andere Methoden verwendet werden.

Hier ist ein Beispiel, um die Verwendung von supervisorctl kurz zu veranschaulichen.

Zuerst müssen Sie supervisorctl installieren und yum install -y supervisor im Terminal ausführen.

supervisorct wird standardmäßig im Verzeichnis /etc/supervisor installiert.

Nach Abschluss befindet sich eine Konfigurationsdatei supervisord.conf unter / Nach dem Öffnen gibt es am Ende ein [include] und konfiguriert die Dateien wie folgt:

files = /etc/supervisor/conf.d/*.conf
Nach dem Login kopieren

Anschließend können Sie Ihre eigene Konfigurationsdatei im Verzeichnis /etc/supervisor/conf.d erstellen Erstellen Sie beispielsweise die Datei test.conf (in meinem Fall handelt es sich um eine Verbrauchsaufgabenwarteschlange, die vom PHP-Laravel-Framework ausgeführt wird). Der Dateiinhalt ist wie folgt konfiguriert:

[program:rabbitmq-comsumer-1]
process_name=%(program_name)s_1
command=php /var/www/html/app/artisan rabbitmq:consumer 1
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/html/app/storage/logs/rabbitmq-comsumer-log-1.log
Nach dem Login kopieren

Schritt 2:

Schreiben Sie zweitens den Inhalt der geplanten Aufgabe und geben Sie vim ein /etc/crontab in der Terminalkonsole und drücken Sie die Eingabetaste; schreiben Sie den folgenden Code in die Datei:

0 */2 * * * root  /var/www/html/cron.sh
Nach dem Login kopieren
Hinweis: 0 */2 * * * (Dies ist die Syntax für die geplante Aufgabenausführung. Ich führe sie alle 2 Stunden aus , 0:00, 2:00,...automatische Ausführung; siehe die entsprechende Syntax-Baidu-Prüfung)

Schritt 3:

Speichern Sie die Datei und machen Sie sie dann wirksam (dieser Schritt ist sehr wichtig!) Führen Sie Folgendes aus Befehl:

crontab /ect/crontab
Nach dem Login kopieren
Abschließend können Sie den folgenden Befehl verwenden, um die geänderten Ergebnisse anzuzeigen. Wenn Sie 0 */ 2 *** sehen, führen Sie den Befehl ein für alle Mal manuell aus.

Für weitere spannende Inhalte achten Sie bitte auf andere verwandte Artikel auf der chinesischen PHP-Website!

Das obige ist der detaillierte Inhalt vonLinux führt regelmäßig das PHP-Startup-Task-Skript aus (Schrittanalyse). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
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