집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux는 정기적으로 PHP 시작 작업 스크립트를 실행합니다(단계 분석).
최근 직장에서 가끔 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!