실행 유사 변형 sshow의 코드) <?php
$secs = 60;
ignore_user_abort(true);
set_time_limit(0);
dostuff();
sleep($secs);
dostuff();
sleep($secs);
dostuff();
sleep($secs);
dostuff();
sleep($secs);
dostuff();
?>
이 스크립트 버전은 4 분간 상주하며 5 분마다 cron에서이 스크립트를 실행하면 매분마다 실행하는 것과 같은 4 번 코드를 실행합니다.
cronjob이 무엇인지, 어떻게 실행되는지 혼란스러워 보입니다.
cron은 백그라운드에 앉아있는 데몬이며 crontab에 지정된 일정으로 셸을 통해 작업을 실행합니다.
각 사용자마다 crontab이 있으며 시스템 crontab이 있습니다.
각 사용자의 crontab은 해당 사용자로 실행되는 작업을 지정할 수 있습니다. 예를 들어
:
*/5 * * * * echo "This will be run every five minutes"
또는 매 분마다 실행 :
* * * * * echo "This will be run every minute"
명령의 출력이 이메일로 발송됩니다
# run five minutes after midnight, every day
5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
# run at 2:15pm on the first of every month -- output mailed to paul
15 14 1 * * $HOME/bin/monthly
# run at 10 pm on weekdays, annoy Joe
0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids?%
23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday"
5 4 * * sun echo "run at 5 after 4 every sunday"
그래서 5 분마다 실행 crontab의 소유자 (또는 MAILTO가 지정한대로). 즉, 모든 일반 출력이 표시되거나 리디렉션되지 않는 한 매 분마다 이메일을 보낼 것입니다.
명령은 'nobody'사용자로 실행되는 웹 서버에 의해 실행되는 스크립트와 대조되는 crontab을 소유 한 사용자로 실행됩니다 (또는 유사하게 - 웹 서버가 실행되도록 구성됨). 같이). 이것은 cronjob이 웹 서버에 의해 실행되는 스크립트에 의해 액세스 될 것으로 예상되는 파일에 기록하는 경우 삶을 더 복잡하게 만들 수 있습니다. 기본적으로 사용 권한이 올바른지 확인해야합니다.
이제이 시스템이 귀하가 참조하고있는 시스템인지 확신 할 수 없습니다. cronjob
으로 다른 것을 의미하면 위의 내용이 적용되지 않을 수 있습니다.
현재 호스트에서 허용하지 않는 작업을 수행하려는 경우 제한 사항을 해킹하지 않고 호스팅 제공 업체를 전환하는 방법을 고려해야합니다.
대안은 당신이 좋아하는 어떤 주파수에서 반대는 wget 일부 외부 스케줄러 실행하면 정상적인 스크립트 위치 야에 스크립트를 넣어 것입니다.
또 다른 대안은 vartec의 제안의 형태의 주문형 업데이트입니다. 그러나 그것은 당신의 문제를 해결하지 못할 수도 있습니다.
투표가 취소되는 이유에 대해 관심이 있으십니까? – madcolor