Crontab
1. cron이란 :
일정시간마다 프로그램을 자동으로 실행시키는 데몬입니다. (Windows 의 작업스케줄러와 유사함)
2. crond 설정
크론(cron)의 설정은 /etc/crontab에서 합니다. (모든 계정으로 관리해야 할 경우)
옵션
-e : 설정된 파일을 새롭게 편집
-r : 등록된 내용을 삭제
-l : 현재 등록된 내용을 본다
3. crontab 파일 형식
---------- ---------- ------------------------------------------------------
필 드 의 미 범 위
---------- ---------- ------------------------------------------------------
첫 번째 분 0-59
두 번째 시 0-23
세 번째 일 0-31
네 번째 월 1-12
다섯 번째 요일 0-7 (0 또는 7=일요일, 1=월, 2=화, ...)
여섯 번째 명령어 실행할 명령을 한 줄로 쓴다.
---------- ---------- ------------------------------------------------------
- 모든 엔트리 필드는 공백으로 구분된다.
- 한 줄당 하나의 명령 (두줄로 나눠서 표시할 수 없음)
- # 으로 시작하는 줄은 실행하지 않는다. // 주석처리
- '*'표시는 해당 필드의 모든 시간을 의미한다.
- 3,5,7와 같이 콤마(,)로 구분하여 여러 시간대를 지정할 수 있다.
- 2-10와 같이 하이픈(-)으로 시간 범위도 지정할 수 있다.
- 2-10/3와 같이 하이픈(-)으로 시간 범위를 슬래쉬(/)로 시간 간격을 지정할 수 있다(2~10시까지 3시간 간격으로. 즉, 3, 6, 9시를 의미함).
추가) cron등록하는 방법 순서대로 하면 됩니다.
1. # whereis php 명령어로 php가 있는 곳의 위치를 확인한다.
2. # crontab -e 명령어로 작업을 추가한다.
ex) */5 * * * * /usr/bin/php -q /var/www/html/test.php
5분마다 php를 이용해서 해당 위치의 파일을 실행시키는 거다.
3. test.php의 소스 안에서는 include파일 같은 것은 실제 경로를 써준다.
4. # /etc/rc.d/init.d/crond restart 또는 service crond restart // CentOS6 이하
4. # systemctl restart crond // CentOS7 이상
5. # crontab -l 명령어로 제대로 등록이 되었는지 살펴본다.
6. # tail /var/log/cron 명령어로 5분마다 제대로 실행이 되었는지 로그를 검사한다.
ex) Feb 1 09:37:01 centos7 CROND[1975]: (root) CMD (/usr/bin/ls /root > 2)
추가) cron 인증 실패 시
FAILED to authorize user with PAM (Authentication token is no longer valid; new one required)
'OS > Linux' 카테고리의 다른 글
Linux - 권한관리 (chmod, chown, chgrp) (0) | 2023.02.01 |
---|---|
Linux - yum (2) | 2023.02.01 |
Linux - 언어설정 (locale) (0) | 2023.01.31 |
Linux - 런 레벨(Run level) (0) | 2023.01.31 |
Linux - 디렉토리 구조 (0) | 2023.01.31 |