Maison > Article > Opération et maintenance > Linux exécute régulièrement le script de tâche de démarrage PHP (analyse par étapes)
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)
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!