<PHP>
1. php 파일 상단에 아래 내용 입력
!#/usr/local/php/bin/php -q 또는 !#/usr/bin/php -q
<?
php 코드..
?>
첫줄 !#/usr/local/php/bin/php -q 은 PHP 파일의 절대경로.
위치는 리눅스 Shell 상에서 whereis php 로 확인가능.
2. PHP 코드에 include 파일 정보는 절대경로로 적어야 함.
include_once "/home/httpd/db.php";
<크론탭>
리눅스 Shell 상에서..
크론탭 스케쥴 확인 (list) (처음엔 아무것도 없음)
# crontab -l
크론탭 스케쥴 등록
# crontab -e
스케쥴 등록(php일 경우)
예시1) * * * * * /usr/bin/curl http://www.사이트.com/실행 할 파일 경로.php
예시2) * * * * * /usr/bin/wget http://www.사이트.com/실행 할 파일 경로.php
* * * * * /usr/bin/curl 도메인을 포함한 실행 할 파일 경로.php => 1분 마다 실행
*/5 * * * * /usr/bin/curl 도메인을 포함한 실행 할 파일 경로.php => 5분 마다 실행
0 */5 * * * /usr/bin/curl 도메인을 포함한 실행 할 파일 경로.php => 5시간 마다 실행
5 2 * * * /usr/bin/curl 도메인을 포함한 실행 할 파일 경로.php => 2시 5분에 실행
45 5 * * 5 /usr/bin/curl 도메인을 포함한 실행 할 파일 경로.php => 매주 금요일 오전 5시 45분에 실행
0,20,40 * * * * /usr/bin/curl 도메인을 포함한 실행 할 파일 경로.php => 매일 매시간 0분, 20분, 40분에 실행
0 1 * * * /usr/bin/curl 도메인을 포함한 실행 할 파일 경로.php => 매일 1시 0분에 실행
0 5 1 * * /usr/bin/curl 도메인을 포함한 실행 할 파일 경로.php =>매달 1일 새벽 5시에 실행.
*표의 의미는 실행 주기
분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7) (0일요일 1월요일...6토요일 7일요일)
크론탭 재실행
systemctl restart crond
만일 실행이 안될경우 - 크론탭 상단에 환경 변수 입력
참조 : https://conory.com/blog/21351
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
* wget 사용시 root 기본적으로 디렉토리에 php파일을 다운로드 받는데 --spider 옵션을 주면 다운로드 받지 않는다.
*/2 * * * * /usr/bin/wget --spider http://.....
참고 : https://codeday.me/ko/qa/20190318/92323.html
------
블로그 보면 사용자 지정 함수가 안된다는 글들이 보이는데
일단, CentOS 7 기준으로 사용자 함수 호출 잘됨
로그 - 마지막 20라인 확인
아파치 로그
$ tail -20 /var/log/httpd/error_log
crontab 로그
$ tail -20 /var/log/cron
크론탭 실행시 이메일 메시지 해제
You have new mail in /var/spool/mail/root
vi /etc/crontab
에서 MAILTO=root
로 되어있는것을 MAILTO= 로 바꾸어
주면된다.
'[ 서버 & DB 관련 ] > 리눅스' 카테고리의 다른 글
php-xml 설치시 오류 발생 (0) | 2019.07.16 |
---|---|
(리눅스) php 서버 이전시 체크 사항 (0) | 2019.07.08 |
rpm 패키지 설치 옵션 (0) | 2019.06.20 |
리눅스 기본 명령어 메모 (0) | 2019.04.11 |
Visual Studio Code 다운로드 받기 (0) | 2019.04.10 |