| 제목 | 음.. 크론은 어떻게 사용하나요.. | ||
|---|---|---|---|
| 글쓴이 | sisco | 작성시각 | 2010/08/10 10:40:41 |
|
|
|||
|
CI 사용시 특정 컨트롤러를 크론에 등록해서 사용하고 싶습니다.. 이럴땐 어떻게 하면되는지요.. 자세히 부탁드립니다 ㅜ.ㅜ |
|||
| 다음글 | 도와주세요 (3) | ||
| 이전글 | magic_quotes_gpc (php 5.3.3) (2) | ||
|
양승현
/
2010/08/10 13:22:20 /
추천
0
|
|
배강민
/
2010/08/10 14:17:34 /
추천
0
|
|
sisco
/
2010/08/10 15:01:22 /
추천
0
아 감사합니다. ^^
|
|
tuyitu719
1. 크론에서 컨트롤러 실행하는 기본 원리CodeIgniter는 URL 구조로 컨트롤러를 실행하기 때문에 크론에서도 해당 URL을 호출하거나 CLI로 실행하면 됩니다. 방법은 보통 2가지가 있습니다. 방법 1: URL을 크론에서 호출하는 방법가장 간단한 방법입니다. 예를 들어 컨트롤러가 다음과 같다면 application/controllers/Cron.php
class Cron extends CI_Controller {
public function update_data() { echo "Cron job executed"; } } 브라우저에서 실행되는 URL 이 URL을 crontab에 등록합니다. crontab -e
예시 (5분마다 실행) */5 * * * * wget -q -O - http://yourdomain.com/cron/update_data >/dev/null 2>&1
또는 */5 * * * * curl http://yourdomain.com/cron/update_data
방법 2: CLI로 직접 실행 (추천)서버 내부에서 직접 실행하는 방식이라 속도와 보안이 더 좋습니다. 크론 등록 */5 * * * * php /home/user/public_html/index.php cron update_data
설명 php index.php 컨트롤러 메소드
즉 php index.php cron update_data
이렇게 실행됩니다. 3. 크론에서만 실행되게 제한 (보안)외부 URL에서 실행되지 않도록 막을 수도 있습니다. class Cron extends CI_Controller {
public function __construct() { parent::__construct(); if (!$this->input->is_cli_request()) { show_404(); } } } 이렇게 하면 CLI에서만 실행됩니다. 정리CI에서 크론 실행 방법 1️⃣ URL 호출 방식 2️⃣ CLI 실행 방식 (추천) php index.php cron update_data
|
텍스트 웹브라우저로 사용하라는군요.. ㅎㅎ