Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Linux führt regelmäßig das PHP-Startup-Task-Skript aus (Schrittanalyse)
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
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
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.logSchritt 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
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)
Speichern Sie die Datei und machen Sie sie dann wirksam (dieser Schritt ist sehr wichtig!) Führen Sie Folgendes aus Befehl: crontab /ect/crontab
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!