최근 직장에서 가끔 PHP 서비스를 재시작해야 하는 상황이 발생해서, PHP 프로세스를 재시작하기 위해 예약된 실행 스크립트를 사용할까 고민하다가, Linux를 사용하여 실행 스크립트를 작성하는 단계는 다음과 같습니다.
1단계: 예약된 스크립트 파일 cron.sh를 만듭니다(파일 이름은 선택적으로 .sh로 끝남).
참조 코드는 다음과 같습니다(log.txt는 출력 내용을 쉽게 볼 수 있는 로그 파일입니다).
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
저는 supervisorctl을 사용하여 PHP 프로세스를 관리합니다(supervisorctl 사용에 대한 공식 문서를 확인할 수 있습니다). 물론 다른 방법도 사용할 수 있습니다.
supervisorctl의 사용법을 간략하게 설명하는 예는 다음과 같습니다.
먼저 Supervisorctl을 설치하고 터미널에서 yum install -y supervisorct를 실행해야 합니다.
supervisorct는 기본적으로 /etc/supervisor 디렉터리에 설치됩니다.
완료 후 / 아래에 supervisord.conf 구성 파일이 있습니다. etc/supervisor 경로를 열면 끝에 [include]가 있으며 다음과 같이 파일을 구성합니다.
files = /etc/supervisor/conf.d/*.conf
그런 다음 /etc/supervisor/conf.d 디렉토리에 자신만의 구성 파일을 만들 수 있습니다. 예를 들어, test.conf 파일을 생성합니다(제 경우에는 PHP laravel 프레임워크에 의해 실행되는 소비 작업 대기열입니다). 파일 내용은 다음과 같이 구성됩니다.
[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.log2단계:
두 번째로 예약된 작업 내용을 작성하고 vim을 입력합니다. 터미널 콘솔에서 /etc/crontab을 입력하고 Enter를 누릅니다. 코드: 0 */2 * * * root /var/www/html/cron.sh
참고: 0 */2 * * * (이것은 예약된 작업 실행 구문입니다. 저는 2시간마다 실행합니다. , 0:00, 2:00,...자동 실행 관련 구문을 참고하세요 바이두 확인)
파일을 저장한 후 적용합니다(이 단계가 매우 중요합니다!) 다음을 실행합니다. 명령: crontab /ect/crontab
마지막으로 다음 명령을 사용하여 수정된 결과를 볼 수 있습니다. 0 */ 2 *** 명령을 한 번에 수동으로 실행하세요.
더 흥미로운 콘텐츠를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
위 내용은 Linux는 정기적으로 PHP 시작 작업 스크립트를 실행합니다(단계 분석).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!