Linux regularly executes the PHP startup task script (step analysis)

铁手
Release: 2022-08-17 09:22:47
Original
1670 people have browsed it

Recently, I encountered a situation where I needed to restart the PHP service from time to time at work, so I thought of using a scheduled execution script to restart the PHP process, so I used Linux to write an execution script. The steps are as follows:

Chapter Step one: Create a scheduled script file cron.sh (the file name ends with .sh at will).

The reference code is as follows (log.txt is a log file for easy viewing of output content):

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
Copy after login

I use supervisorctl to manage the php process (you can check the official documentation for the use of supervisorctl) , of course other methods can also be used.

Here is an example to briefly illustrate the use of supervisorctl.

First you need to install supervisorctl, execute yum install -y supervisor in the terminal,

supervisorct is installed in the /etc/supervisor directory by default;

After completion, in /etc There is a configuration file supervisord.conf under the /supervisor path. After opening it, there is an [include] at the end and configure the files as follows:

files = /etc/supervisor/conf.d/*.conf
Copy after login

Then you can create yourself in the /etc/supervisor/conf.d directory Configuration file;

For example, create the file test.conf (my side is a consumption task queue executed by the PHP laravel framework). The file content is configured as follows:

[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
Copy after login

Step 2: Next, write the content of the scheduled task, enter vim /etc/crontab in the terminal console and press Enter; write the following code in the file:

0 */2 * * * root  /var/www/html/cron.sh
Copy after login

Note: 0 */2 * * * (This is scheduled Task execution syntax, I execute it every 2 hours, that is, automatically executed at 0:00, 2:00,...; please refer to Baidu for relevant syntax)

Step 3: Save the file and then make it take effect (this step is very important!) Execute the following command:

crontab /ect/crontab
Copy after login

Finally, you can use the following command to view the modified results. If you see 0 */2 * * * root / var/www/html/cron.sh means it has taken effect:

crontab -l
Copy after login

Summary: The above is to use the linux scheduled execution task script to restart the php service, as long as it does not require immediate execution, this way There is no need to manually execute the command, once and for all.

For more exciting content, please pay attention to other related articles on the php Chinese website!

The above is the detailed content of Linux regularly executes the PHP startup task script (step analysis). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template