일주일에 한 번 URL을 같은 서버에서 호출하는 cpanel에 cron 작업을 설정해야합니다. wget 을 사용하려고 했지만 사용중인 공유 서버에서 이것이 비활성화되어있는 것으로 나타났습니다.
wget에 대한 대안이 있습니까? curl을 사용할 수 있다고 들었지만 cron 명령에서 curl 을 설정하는 방법을 모르겠습니다.
또한 cronjob이 완료 될 때 아무 작업도 수행하지 않도록하는 명령은 무엇입니까?
어떤 아이디어라도 대단히 감사합니다!
답변
wget을 사용하는 대신 curl은 다음과 같이 작동합니다.
curl --silent http://domain.com/cron.php
wget과 같은 방식으로 작동합니다. PHP 파일이 실행중인 경우 다음과 같이 커맨드 라인 PHP 인터프리터를 통해 실행할 수 없습니다.
php -q /path/to/cron.php
웹 서버 요청에서 동일하며 종종 웹 서버 / 컬을 통해 호출 할 때 특정 시간 초과 제한없이 훨씬 빠르게 작동합니다.
답변
컬이 가능하면 다음과 같은 것을 시도해 볼 수 있습니다.
1 1 * * 0 /usr/bin/curl --silent http://example.come/some.php &>/dev/null
이렇게하면 curl이 완전히 조용해 지므로 완료시 이메일을받지 못합니다.
답변
이 매개 변수는 전송에 허용되는 최대 시간을 설정하므로 –silent 외에도 “-m”매개 변수를 추가하는 것이 좋습니다. 매분마다 cron을 호출하고 스크립트에 2 분이 걸린다고 상상해보십시오. 이는 서버로드 또는 기타 사항에 나쁜 영향을 줄 수 있습니다.
1 1 * * 0 /usr/bin/curl -m 120 -s http://example.come/some.php &>/dev/null