웹호스팅에서 주기적으로 프로그램 돌리기 꽁수 , crontab 스케줄러 대용

서버호스팅이 아닌 웹호스팅을 하게 되면 리눅스의 값진 기능들을 사용할수 없는 아쉬움이 있다. 그중에서 가장 아쉬운 부분이 crontab 명령를 못쓴다는 점이다. 그런 아쉬움을 달래기 위해 예전에 feedburner를 이용한 주기적인 프로그램 실행(crontab 대용) 라는 글에서 피드버너를 이용하는 법에 대해서 언급을 한적있다.

지금 테스트하는 호스팅은 카페24다. 혹자들은 깡패24라고도 하는데, 가장싸고 편리한 기능들이 많아서 애용하고 있다. 가입할려면 아래 배너 클릭하면, 바로 할 수 있다. 왠만한 홈페이지는 1년에 5000원짜리 하면 된다.


호스팅이 완비 되었으면 실제로 해보자. 저번글에서 전체적인 개념만 설명한것같아서 실제 소스코드와 좀더 상세한 설명을 추가한다.

피드버너(http://www.feedburner.com)는 RSS 피드를 대신해주는 서비스를 제공하는 사이트다. 작년인가 구글에 인수되어서 화재가 되기도 했다.

RSS라는게 발행을 하고 사람들이 가져가기 시작하면 트래픽이 많이 걸릴게 된다. 그런 트래픽을 대신 받아주어 블로거의 부담을 덜어주는 서비스를 하는게 피드버너다.

이 피드버너는 주기적으로 블로거의 RSS 주소로 들어와 새글이 없는지 체크한다.

이 주기적으로 들어와서 체크할때를 이용하는게 이 꽁수의 핵심이다.

즉, RSS 를 생성하는곳에 원하는 프로그램을 넣어 두면 피드버너가 주기적으로 그 프로그램을 실행시켜주게 된다.

이 꽁수의 단점은 자기가 원하는 시간 혹은 원하는 시간간격을 설정할수가 없다는 점이다. 긁어가는 타이밍은 무조건 피드버너의 마음대로다. 하지만 웹호스팅에서 사용하기에는 이정도도 주하나님의 광명이다.

하루정도 얼마나 자주 피드버너가 프로그램을 실행시켜주는지 체크해보았더니 평균 3시간 정도 되는것같았다.

피드버너 실행 시간들

2008/10/03 11:45
2008/10/03 14:21
2008/10/03 16:56
2008/10/03 19:31
2008/10/03 22:06
2008/10/04 00:41
2008/10/04 03:16
2008/10/04 06:10
2008/10/04 08:57
2008/10/04 11:36
2008/10/04 14:21

이제 피드버너를 속이는 일만 남았다. 피드버너가 지금 가져가는게 RSS 라고 믿게 만들고, 이 RSS는 꾸준히 내용이 바뀌며 업데이트가 되고 있다고 믿게 만들어야 한다.

<?

include 'myprogram.php';//실행시킬 프로그램을 include 한다

ob_start();

echo '<?xml version="1.0" encoding="UTF-8"?>';

?>

<rss version="2.0">

    <channel>

        <title>달을 파는 아이</title>

        <description>프로그래밍,책이야기,웹</description>

        <link>http://moonseller.net</link>

        <lastBuildDate><?=date("Y/m/d H:i",mktime())?></lastBuildDate>

        <generator>FeedCreator 1.7.2</generator>

        <item>

            <title>새로 올라온 글입니다</title>

            <link>http://moonseller.net</link>

            <description>글 올린 날짜 : <?=date("Y/m/d H:i",mktime())?></description>

        </item>

    </channel>

</rss>

<?

$tt=ob_get_contents();

ob_end_clean();

echo $tt;

?>

소스코드를 보면 정말 간단하다. 원리는 간단하다.

젤 상단에 include 'myprogram.php'; 를 해서 실행시키고 싶은 프로그램을 넣어 둔다. 그리고 아래쪽에는 쓸데없는(?) RSS를 만들어 피드버너가 지금 가져가는것이 RSS 라고 믿게 만든다. 끝.. ^^;

주의할점이 있다.

  • 이 소스는 반듯이 UTF-8 인코딩으로 된 파일에 넣어야 한다.
  • myprogram.php 에는 에러가 있어서는 안된다.
  • 과도하게 실행시간이 긴 프로그램은 사용할수가 없다.

위 세가지를 어기면, 피드버너가 받아주지 않는다.

위 소스를 저장한 파일이 myfeed.php 라면 , 이 파일을 피드버너에 가서 등록만 시켜주면 모든일은 끝이다.

피드버너 등록에 대해서는 아래 링크들을 참조해주세요~

 

이상으로 피드버너를 이용한 웹호스팅에서 꽁수로 스케줄러 돌리기 강좌를 마칩니다. ^^

신고
Posted by 달을파는아이 달을파는아이

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 웹개발
    2011.08.26 12:17 신고
    댓글 주소 수정/삭제 댓글
    오우 좋은 정보 감사합니다.

    혹시 실행시간이 1분30초 정도 걸리는 것도 피드버너가 받아줄까요 ??
    • 2011.08.26 14:33 신고
      댓글 주소 수정/삭제
      무척이나 옛날에 적은 글이라.. 기억은 잘 안나지만, 몇분 걸리는것도 실행해본적이 있는것같아요.

      이 방법말고, crontab 을 대행해주는 홈페이지도 있던데.. 주소가 잘 생각이 안나네요.
  2. 웹개발
    2011.08.26 17:02 신고
    댓글 주소 수정/삭제 댓글
    넵 ^^ 답변 감사합니다.

    www.mywebcron.com 요기를 찾았는데.. 한번 테스트 해봐야겠네요.
  3. 2012.01.13 22:32 신고
    댓글 주소 수정/삭제 댓글
    감사합니다.

    덕분에 cron 돌리는걸 성공했습니다.
    저는 피드버너로 시도해보았지만 링크태그에서 에러가 계속떠서..
    결국 웹개발님 댓글을 토대로 www.mywebcron.com 에서 성공햇습니다.

    www.mywebcron.com의 경우 스케쥴러 시간까지 설정할수있어서
    갠찮은것 같습니다.
  4. 남형석
    2015.02.18 16:50 신고
    댓글 주소 수정/삭제 댓글
    지금 php파일을 피드버너를 이용하여 주기적으로 실행하려고 하는데
    잘 안되서요.. 피드버너 실행시간 확인한 것 어떻게 하셨는지 알 수 있을까요??
    그리고 혹시 예제로 하신거 소스 받는 것 가능할까요?
    가능하면 nhs9965@naver.com 로 보내주실수 있을까요?
    부탁드립니다!!
  5. 2017.03.10 13:51 신고
    댓글 주소 수정/삭제 댓글
    좋은 정보 감사합니다 : )


BLOG main image
멈추지 않으면 얼마나 천천히 가는지는 문제가 되지 않느니라 by 달을파는아이

나의 인생 시계 만들기 >>

카테고리

분류 전체보기 (430)
달을파는아이 (284)
머니머신 (125)
파싱의 추억 (20)
현미촌 현미국수면 (1)
Statistics Graph