웹 서버에서 PHP 스크립트를 무기한 실행하도록 허용

웹 서버에서 PHP 스크립트를 무기한 실행하도록 허용

해결해야 할 큰 문제가 있습니다. 기본적으로 나는 그것에 대한 경험이 거의 없으며 최근에 웹 서버에서 실행 하기 위해 Linux꽤 많은 명령을 사용해야 하는 프로젝트를 진행하고 있습니다 .Linuxphp scripts

기본적으로 두 개의 스크립트가 있습니다

  1. get_tweets.php
  2. 구문 분석_tweets.php

앞으로 3~4주 동안 웹 서버에서 지속적으로 실행하려면 이러한 기능이 필요합니다. 다음 명령을 사용하여 실행시켰더니 하루 정도 지속되는 것 같았는데, 아침에 확인해 보니 작동이 멈춘 것 같았습니다!

nohup php get_tweets.php > /dev/null &그런 다음 nohup php parse_tweets.php > /dev/null &

&을 사용하면 스크립트를 계속 실행할 수 background있고 로그아웃할 때 스크립트가 실행된다는 것을 알고 있지만 ssh앞서 말했듯이 스크립트는 하루 종일 잘 실행되는 것 같더니 아침에 체크인하면 중지됩니다.

내가 가진 문제는 중단없이 계속 실행하는 방법입니다. script실행 중인지 확인하고 그렇지 않은 경우 다시 시작하거나 5시간마다 또는 그 정도마다 작성할 수 있는 간단한 방법이 있습니까 ?

이것은 큰 문제이고 해결 방법을 모르기 때문에 도움을 주시면 정말 감사하겠습니다.

답변1

주위에 무한 루프를 넣으십시오.

nohup sh -c 'while true; do php get_tweets.php; done' >/dev/null &
nohup sh -c 'while true; do php parse_tweets.php; done' >/dev/null &

스크립트가 중지된 이유를 확인하기 위해 모든 출력을 검사할 수 있도록 출력을 실제 파일로 리디렉션하는 것이 유용할 수 있습니다(덮어쓰는 대신 >>을 사용하여 추가). 또한 nohup.out에서 단서를 확인하세요.

관련 정보