메뉴 건너뛰기

조회 수 8510 추천 수 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. No Image

    cron을 이용한 DB자동백업

    Date2015.07.16 Views8204
    Read More
  2. No Image

    Linux LVM구성하기

    Date2014.02.27 Views8218
    Read More
  3. No Image

    리눅스 방화벽 iptables 설정

    Date2014.04.23 Views8220
    Read More
  4. No Image

    리눅스 한글 설정

    Date2014.03.26 Views8244
    Read More
  5. No Image

    SQL 인젝션 복구 쿼리

    Date2014.02.27 Views8248
    Read More
  6. No Image

    php 리다이렉트

    Date2016.03.18 Views8302
    Read More
  7. No Image

    php sockets 동적 모듈 설치 ( php socket )

    Date2016.03.18 Views8326
    Read More
  8. No Image

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

    Date2016.08.10 Views8337
    Read More
  9. 리눅스 기본보안설정(11)

    Date2014.05.15 Views8346
    Read More
  10. No Image

    yum 업데이트 시 특정 패키지 예외처리

    Date2016.03.18 Views8350
    Read More
  11. No Image

    Root Disk를 Mirroring하는 방법

    Date2016.07.22 Views8418
    Read More
  12. 아파치(apache) 한글 URL 인식 모듈 설치

    Date2016.07.22 Views8429
    Read More
  13. 리눅스 파티션(partition)을 나눠보자

    Date2015.06.09 Views8438
    Read More
  14. No Image

    TOMCAT/사이트 여러개 운영

    Date2017.03.09 Views8444
    Read More
  15. No Image

    웹로직 서버 시작 및 종료 스크립트

    Date2017.04.28 Views8466
    Read More
  16. No Image

    리눅스/RAID 설정하기 1

    Date2016.07.22 Views8473
    Read More
  17. No Image

    apache status 모듈 ( 모니터링 )

    Date2014.02.27 Views8501
    Read More
  18. No Image

    리눅스 해킹사고 분석 및 대응절차

    Date2014.02.27 Views8506
    Read More
  19. crontab 을 이용한 PHP 스케줄링 작업

    Date2017.02.02 Views8510
    Read More
  20. No Image

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

    Date2014.03.26 Views8517
    Read More
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 Next
/ 12

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved