메뉴 건너뛰기

조회 수 8506 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

PHP 를 매일 일정한 시간에 주기적으로 실행해야 할 경우가 있다.


리눅스의 crontab 기능을 이용하여 PHP 파일을 실행하기 위해 알아야 할 사항

1. PHP 코드에 DB 연결하는 파일 정보는 절대경로로 적어야 한다.

    include "/home/httpd/db.info.php";
    include "/home/httpd/dbClass.php";


2. PHP 코드 상단에 한줄 적어줄 내용

    !#/usr/local/php/bin/php -q

    <?php

        include "/home/httpd/db.info.php";
        include "/home/httpd/dbClass.php";


        PHP 소스코드

     ?>



※ crontab 에서 직접 PHP 코드를 호출해서 돌리는 경우에는 위와 같이 하면 된다.

   첫줄 !#/usr/local/php/bin/php -q 은 PHP 파일의 절대경로인데

   파일의 위치를 모르면

   리눅스 Shell 상에서 whereis php 로 찾으면 된다.

   그리고 해당 경로로 들어가서 실제 php 파일이 있는 곳을 확인해야 한다.


이제 crontab 에 스케쥴할 사항을 등록하자.


1. 크론탭 수정하는 방법
    crontab -e

    입력화면에서 입력하려면 i 를 눌러 insert 모드로 변경하고

    스케쥴링할 내용을 적어준다.

    15 23 * * * wget -O - -q -t 1 http://IP주소/xml/web_member.php

    를 붙여넣기 한 다음에 저장하고 나온다.

2. 크론탭 시작
    service crond start


이 두가지 사항만 하면 매일같이 정해진 시간(23시 15분)에 실행된다.


다른 방법으로 할 경우

shell 스크립트 파일을 작성해서 스크립트 파일을 돌리는 경우에는

shell script

15 23 * * * /home/httpd/xml/cron_member.sh


shell script 파일 안에는

echo "Insert and Update member table of MySQL database..."
/usr/local/php/bin/php -f  /home/httpd/xml/cron_member.php

처럼 작성된 코드가 포함되어야 한다.


cron_member.php 파일에는

DB 파일의 경로는 절대경로를 반드시 적어줘야 한다.



shell script 를 만들어서 사용하는 경우

몇가지 처리를 하나의 스크립트에서 해야 할 때 효과적이다.


2시 5분에 스크립트가 자동으로 실행된다.

5 2 * * * /usr/local/php/bin/php /usr/local/apache/htdocs/accessLog.php


만약 매 5분마다 실행하고 싶다면

*/5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/accessLog.php

로 해주면 된다.


  1. webmin 설치하기

  2. No Image 30Jul
    by
    2015/07/30 Views 8703 

    PHP-5.3 이상 Zend 설치

  3. No Image 27Feb
    by
    2014/02/27 Views 8696 

    iptables + 스크립트를 이용한 중국 IP 차단

  4. [CentOS 6.5] JDK (JAVA) 설치

  5. No Image 18Mar
    by
    2016/03/18 Views 8686 

    CentOS 5.1 + APM(apache 2.2.x + php 5.2.x + mysql5.0.x + Zend 3.0.x) 설치

  6. No Image 13Apr
    by
    2017/04/13 Views 8685 

    웹로직 + 아파치 연동

  7. No Image 30Dec
    by
    2016/12/30 Views 8646 

    APACHE, OHS 400 웹로직 연동후 특정 작업에 400 error

  8. No Image 22Jul
    by
    2016/07/22 Views 8622 

    아파치 한글파일 인식설정

  9. 우분투(리눅스) 설치 USB 만들기

  10. No Image 26Mar
    by
    2014/03/26 Views 8603 

    iconv 추가 설치

  11. No Image 16Jul
    by
    2015/07/16 Views 8598 

    centos 7 계정추가

  12. [CentOS 6.5] SSH,TELNET, FTP 설치 및 운용

  13. No Image 18Mar
    by
    2016/03/18 Views 8558 

    Apache 2.x 에서 maxclients 1024 제한 초과 방법 (수정 중..)

  14. No Image 26Mar
    by
    2014/03/26 Views 8555 

    AIDE를 이용한 리눅스 파일 시스템의 무결성 점검

  15. Centos7 64bit 웹서버 만들기-소켓모듈설치(socket.io) CAP7

  16. No Image 22Nov
    by
    2016/11/22 Views 8551 

    아파치 웹로직 연동(Virtual Host)

  17. 리눅스 마운트 (mount)를 해보자

  18. No Image 26Mar
    by
    2014/03/26 Views 8517 

    싱글모드 부팅 후, fstab read only 발생시

  19. crontab 을 이용한 PHP 스케줄링 작업

  20. No Image 27Feb
    by
    2014/02/27 Views 8501 

    apache status 모듈 ( 모니터링 )

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 12 Next
/ 12

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved