2013-07-12 8 views
0

웹 사이트의 페이지에 크론 작업을 추가했습니다. 내가 사용한 명령은 다음과 같습니다크론 작업이 작동하지 않습니다.

30 */1 * * */twitter/index.php 

내가이 페이지는 오전 12시 반 (오전 1시 반 2:30 오전 등)에서 시작하여 매 시간마다 새로 고침합니다.
: 나는 오류를 수신 할 수 있도록 내 이메일을 설정하고 내가 오류 내 호스트가 "JustHost을"입니다

/bin/sh: 30: command not found 

입니다

페이지는에 (그것의 cPanel에 Cron의 채용을 지원) www.DOMAINNAME.com/twitter/index.php

감사합니다.

답변

1

/twitter/index.php은 시스템 루트에 twitter 디렉토리를 검색합니다. 그것이있을 가능성은 매우 낮습니다. 도메인의 루트 일 수도 있지만 웹 사이트의 파일 시스템 디렉토리의 루트가 아닙니다.

대신 다음과 같이 입력해야합니다. /home/youraccountnumber/yourdomainname/twitter/index.php.

적어도 내 ctanel에 cron 작업도 지원합니다. 나는 새로운 크론를 만들 때 일부 /home/myaccountnumber은 이미 가득 :)

의 cPanel도 저를 알려줍니다.이 정보가없는 경우

Sample cron commands: 
/usr/local/bin/php /home/*myaccount*/domains/domain.com/public_html/script.php 
/usr/local/bin/curl --silent http://www.domain.com/cron.php > /dev/null 
/usr/local/bin/wget -O /dev/null http://www.domain.com/cron.php 

그래서, 찾으려면 호스트에 문의하시기 바랍니다 정확한 경로를 사용하십시오. 그들은 주제에 관한 문서를 가지고있을 것입니다.

+0

완벽! 내가 한 방식은 다음과 같습니다. php /home/username/public_html/cron.php 그냥 올려 놓으면 다른 사람이 같은 문제가 있습니다. :) –

0

실행해야하는 명령은 루트에서 실행하려는 특정 php 파일이있는 폴더까지의 전체 경로입니다. 대부분의 CPanels는 다른 곳에서 타이밍 설정을 가지며 cron 표현식을 생성합니다. 명령 필드에 파일의 경로를 입력하기 만하면됩니다.

30 */1 * * */twitter/index.php 

당신이 오류를주고있다 :이 명령하면

1

/bin/sh: 30: command not found 

는 당신은 쉘 명령으로 실행하려고하고 있습니다.

cron 명령을 설정하려면 crontab 명령에 피드를 제공해야합니다. 에 공급, 즉

% crontab $HOME/.crontab 

, 사용자의 crontab 파일을 실행하지 않는 :이 작업을 수행하는 가장 좋은 방법은, IMHO, 실행 한 후 올바른 형식의 crontab 항목의 파일 (아마도 $HOME/.crontab)를 생성하는 것입니다 crontab 명령

필드 사이에 공백이 있어야합니다. 처음 5 개의 필드는 명령 실행시기를 지정합니다. 나머지는 명령 자체입니다. 다섯 번째 필드와 나머지 필드 사이에 공백이 없습니다. 또한 */1은 단순히 *으로 작성됩니다.그래서이 : 각 시간 후 30 분 /twitter/index.php을 실행하려면

30 * * * * /twitter/index.php 

은 당신의 crontab에 넣어 올바른 줄 것입니다.

이것은 파일 시스템의 루트에 twitter이라는 디렉토리에있는 실행 파일이라고 가정합니다. 다소 이상 할 수도 있습니다. 다른 곳에서 실행하려면 명령의 전체 경로를 지정해야합니다. Cron 작업은 제한된 환경에서 실행됩니다. 특히 대화 형 셸에서 가지고있는 것과 동일한 문자가 없을 수도 있습니다.

관련 문제