[시스템] 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 안에 넣어 두시면 잘~~~ 아주 잘~~~ 작동 합니다