2014-06-20 2 views
1

cPanel에서 몇 가지 cron 작업을 설정하려고했지만 시스템에서 cron에 대한 명령 줄을 사용하기 때문에 매개 변수를 사용할 수 없습니다. 이것은 WordPress cron이며 URL의 매개 변수에 의존합니다.명령 줄에 매개 변수가있는 Cron 작업

어떻게하면 명령 줄을 통해 작동합니까?

php -q /home/facebnzc/public_html/folkeuniversitetet/wp-cron.php?import_key=NAbeK7X&import_id=1&action=processing 
+4

명령 줄에는 ** no ** 지식이 절대적으로 있습니다. '? '는 쉘 widlcard로 간주되고 "일치하지 않음"을 얻을 것이고, &는 작업 제어 연산자가 될 것이며 전체 php 명령을 백그라운드에 넣을 것입니다. 커맨드 라인은 ** 웹과 관련하여 ** 아무 것도 안되며, 웹 주소가 셸에 아무런 의미가 없다고 기대할 수는 없습니다. –

+1

아마도 도움이 될 것입니다 : http://stackoverflow.com/q/8558041/367456 - 기본적인 아이디어는 cron 명령을 사용하여 웹 요청을하는 것입니다. 일반적으로 이것은 컬 (curl) 또는 wget으로 이루어지며, 일부 cpanel은 "종류"의 cron에 대해서도 웹 요청을 지정할 수 있습니다. – hakre

답변

2

이 상수는 실행 준비가 된 이벤트에 대한 검사를 활성화 또는 비활성화합니다. 위의 동작과 같이 이벤트를 추가하고 관리하려면 아직 이 (가) 있습니다. 우리는 WordPress에 수동으로 wp-cron.php 파일을 수동으로 넣어야 만 필요할 때 스크립트를 자주 실행할 수 있습니다. 당신이 가진 모든 매일 스크립트 인 경우

, 당신은 crontab을 통해이 같은 -e 명령 cron 작업을 추가 할 수 있습니다

0 0 * * * wget과 -O - -q -t 1 http://yoursite.com/wp-cron.php?doing_wp_cron=1

cron 사용 방법에 대한 정보는 위키 백과 항목에서 찾을 수 있습니다. 에 대한 정보 wget 사용 방법은 wget 매뉴얼을 참조하십시오.

위의 항목 중 0 0 * * * 부분은 매일 0시 (자정)에 0 분 에이 스크립트를 실행하도록 cron에 알립니다.

wget -O - -q -t 1 http://yoursite.com/wp-cron.php?doing_wp_cron=1 부분 은 wget 명령을 사용하여 WordPress 설치에서 wp-cron.php 페이지를로드합니다. -O - wget이 devnull에 출력을 보내도록 지시하고 -q은 자동 모드를 사용하도록 설정합니다. 이렇게하면 cron이 서버에 파일을 추가하거나 각 cron 실행의 결과를 전자 메일로 보내지 않게 할 수 있습니다. -t 1은 cron에게 한 번 시도하도록 지시합니다. 이렇게하면 첫 번째 시도가 실패 할 경우 wget이 서버에 여러 번을 건드리지 않게됩니다. wp-cron.php에 대한 호출이 실패하면 나머지 웹 사이트도 실패 할 가능성이 있습니다. 잘하면 이미 알림을 받았습니다.

yoursite.com을 실제 사이트 URL로 변경하십시오. 마지막으로, wp-cron.php가 실행하기 전에 매개 변수 $_GET을 확인하므로 URL 끝에 ?doing_wp_cron=1이 필요합니다.

관련 문제