Maison  >  Article  >  Opération et maintenance  >  Linux exécute régulièrement le script de tâche de démarrage PHP (analyse par étapes)

Linux exécute régulièrement le script de tâche de démarrage PHP (analyse par étapes)

铁手
铁手original
2022-08-12 20:53:451648parcourir

Récemment, j'ai rencontré une situation où je devais redémarrer le service php de temps en temps au travail, j'ai donc pensé à utiliser un script d'exécution planifié pour redémarrer le processus php, j'ai donc utilisé Linux pour écrire un script d'exécution. comme suit :

Étape 1 : Créez un fichier de script planifié cron.sh (le nom du fichier se termine éventuellement par .sh).

Le code de référence est le suivant (log.txt est un fichier journal pour une visualisation facile du contenu de sortie) :

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

J'utilise superviseurctl pour gérer le processus php (vous pouvez consulter la documentation officielle pour l'utilisation de superviseurctl). Bien entendu, d’autres méthodes peuvent également être utilisées.

Voici un exemple pour illustrer brièvement l'utilisation de superviseurctl.

Vous devez d'abord installer superviseurctl, exécuter yum install -y superviseur dans le terminal,

supervisorct est installé par défaut dans le répertoire /etc/supervisor

Une fois terminé, il y a un fichier de configuration superviseurd.conf sous le / ; chemin etc/supervisor. Après ouverture, il y a un [include] à la fin et configurez les fichiers comme suit :

files = /etc/supervisor/conf.d/*.conf

Ensuite, vous pouvez créer votre propre fichier de configuration dans le répertoire /etc/supervisor/conf.d ; exemple, créez le fichier test.conf (dans mon cas C'est une file d'attente de tâches de consommation exécutée par le framework PHP laravel) Le contenu du fichier est configuré comme suit :

[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

Étape 2 :

Deuxièmement, écrivez le contenu de la tâche planifiée, saisissez vim /etc/crontab dans la console du terminal et appuyez sur Entrée ; écrivez ce qui suit dans le fichier Code :

0 */2 * * * root  /var/www/html/cron.sh
Remarque : 0 */2 * * * (Il s'agit de la syntaxe d'exécution de la tâche planifiée. Je l'exécute toutes les 2 heures, c'est-à-dire , 0:00, 2:00,...exécution automatique ; veuillez vous référer à la syntaxe associée Baidu check)

Étape 3 :

Enregistrez le fichier puis rendez-le effectif (cette étape est très importante !) Exécutez ce qui suit commande :

crontab /ect/crontab
Enfin, vous pouvez utiliser la commande suivante pour afficher les résultats modifiés Si vous voyez 0 */ 2 *** Exécutez manuellement la commande une fois pour toutes.

Pour un contenu plus passionnant, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn