[시스템] cron 을 이용하여 php 스크립터 실행하기

송재호 : php 를 shell 상에서 실행시키기

눈이오면 : cron 을 이용한 데이터 백업

이 두개의 문서를 참고 하였습니다

cron 이라는 넘은 일종의 데몬으로서 특정 시간이 돼면 작동 하도록

지정 할수 있습니다

cron에는 명령어 문법이 있죠.

모두 일곱개이 필드가 있습니다. 그 포맷을 보면

mimute hour day month weekday username command

첫번째는 분을 나타냅니다.(0~59)

두번째는 시간을 나타내죠.(0~23)

세번째는 일, 즉 한달중의 날을 얘기하죠.(1~31)

네번째는 달, 즉 1년중의 달을 나타냅니다.(1~12)

다섯번째는 일주일중의 날을 얘기합니다. 즉 월요일~일요일.(1~7)

그러니까 매일 새벽 한시에 이 명령이 실행되기를 원하신다면,

0 1 * * * /home/count_up

모든 필드의 구분은 space이며, 한 필드에 여러값을 사용하려면, space없이 콤마로 구분합니다.

내용을 crontab 에 저장을 해주시면 됩니다

크론 데몬은 다른 데몬들 처럼 restart 가 필요 없으며 자동으로

RELOAD 를 합니다

그리고 설치시 자동으로 cron.daily cron.hourly cron.monthly

가 설치 되어 작동 합니다

원하시는 코드를 작성 하신 다음에 daily 에 넣어주시면

하루에 한번씩 자동으로 작동 하게 된다는 말이죠 ^^

근데 중요한 점 !!!!

PHP 는 스크립트 언어 입니다

PARSE 를 한번 해서 읽어 주어야 제대로 된 코드가 작동을 합니다

하지만 cron 으로 등록을 한 다음에는 parse 의 과정을 생략하고

작동 합니다

(이 부분에서 막혀서 결국엔 밤을 세웠죠)

일단 php 를 다른 CGI 처럼 기냥 쉘상에서 실행이 되게 컴파일을

해주시면 됩니다

기존에 PHP 가 깔려 있어두 상관 없습니다

그냥 인스톨 하세요

소스를 다운 받아서 업로드 하신 다음에 (/usr/local/src/)

configure 를 하십시요

./configure –exec-prefix=/usr/local/php4 –with-mysql=/us

r/local/mysql/ –enable-track-vars

이렇게요

그런 다음 make 하시고

make 가 종료 되면 make install 하세요

여기 까지 모두 실행 되셨으면 이제 모든 동작이 제대로 수행 될겁니다

parse 과정을 웹서버에서 하는 것이 아니라 자체 모듈로 작동합니다

그럼 테스트 합니다

vi 를 쓰면 좋겠지만 저 처럼 못쓰시는 분이 계시겠죠 ? ㅡㅡ;;

그럼 pico 를 쓰십시요 ( 거의 메모장과 같습니다 )

==================================================

pico test.html

#!/usr/local/php4/bin/php

<?

echo “test 입니다 “;

?>

==================================================

이제 실행 시켜 보세요

./test.html

그럼 잘 될겁니다 ^^

이제 매일 발송 되는 스크립트를 작성 하십시요

그리고 상단에 #!/usr/local/php4/bin/php 이 녀석을 적어 주시고

cron.daily 안에 넣어 두시면 잘~~~ 아주 잘~~~ 작동 합니다

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

3 Responses

  1. jazz piano music 말해보세요:

    jazz piano music

  1. 2024년 10월 6일

    … [Trackback]

    […] Info on that Topic: nblog.syszone.co.kr/archives/121 […]

  2. 2024년 10월 24일

    … [Trackback]

    […] Read More here to that Topic: nblog.syszone.co.kr/archives/121 […]

페이스북/트위트/구글 계정으로 댓글 가능합니다.