일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 램가스초월
- iptime
- 티스토리
- 스톤에이지
- nginx
- 알리익스프레스
- 복현오거리
- 자바스크립트
- 보르비스초월
- SKT
- 시놀로지
- mysql
- 알뜰폰
- 킹북이초월
- 리눅스
- 아파치
- proxmox
- 가상서버호스팅
- ConoHa
- 윈도우10
- PHP-FPM
- centos
- html/css
- Apache
- 소비전력
- jQuery
- KB증권
- KB국민카드
- php
- Rocky
- Today
- Total
맛집 여행 캠핑 일상 생활
리눅스 반복 예약작업 cron crontab 본문
리눅스 반복 예약작업 cron crontab
리눅스 서버에서 특정 프로세스나 스크립트를 원하는 시간에 php 같은 프로그램을 수행하기를 원할때 사용되는 데몬(crond)이다.
크론탭(crontab)은 스케줄러이다. /etc/crontab 파일에서 직접볼 수도 있다.
▶ 현재사용자 스케줄러 보기
# crontab -l
▶ 현재사용자 스케줄러 삭제
# crontab -r
▶ 현재사용자 스케줄러 등록
# crontab -e
작성은 vi 편집기와 동일하다.
crontab -e 명령어로 직접 등록할 수도 있지만 아래 디렉토리에 직접 파일을 생성해줘도 된다.
/etc/cron.d
여기에 아래의 작성방법대로 직접 파일을 생성해 놓으면 크론데몬이 알아서 수행해준다.
/etc/cron.daily
이 디렉토리는 매일 수행이 필요한 폴더이다. 쉘스크립트로 작성하여야 한다.
/etc/cron.hourly
이 디렉토리는 매시간 수행이 필요한 폴더이다. 쉘스크립트로 작성하여야 한다.
/etc/cron.monthly
이 디렉토리는 매월 수행이 필요한 폴더이다. 쉘스크립트로 작성하여야 한다.
/etc/cron.weekly
이 디렉토리는 매주 수행이 필요한 폴더이다. 쉘스크립트로 작성하여야 한다.
작성방법은 아래와 같이 하면 된다. crontab 또는 /etc/cron.d 에만 해당된다.
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
첫번째 : 분
두번째 : 시
세번째 : 일
네번째 : 월
다섯째 : 요일
여섯째 : 수행할 유저아이디
일곱째 : 수행할 명령어 또는 스크립트파일
아래는 root계정 기준 작성법이다.
일반사용자 계정은 유저아이디 부분은 입력하지 않아도 된다.
▶ 1분 간격으로 실행
* * * * * 유저아이디 명령어
▶ 홀수분 간격으로 실행
1-59/2 * * * * 유저아이디 명령어
▶ 짝수분 간격으로 실행
*/2 * * * * 유저아이디 명령어
▶ 5분 간격으로 실행
*/10 * * * * 유저아이디 명령어
▶ 매시 15분, 45분에 실행
15,45 * * * * 유저아이디 명령어
콤마를 구분으로 적을수 있다.
▶ 3시간 마다 30분에 실행
30 */3 * * * 유저아이디 명령어
▶ 매일 새벽 2시 20분에 실행
20 2 * * * 유저아이디 명령어
2 대신에 02로 적어도 된다.
▶ 매월 1일 새벽 1시에 실행
0 1 1 * * 유저아이디 명령어
▶ 월~금요일 아침 7시에 실행
0 7 * * 1-5 유저아이디 명령어
▶ 토, 일요일 아침 9시에 실행
0 9 * * 0,6 유저아이디 명령어
▶ 결과와 에러 출력없이 그리고 백그라운로 실행하기
* * * * * 유저아이디 명령어 /dev/null 2>&1 &
▶ 새벽6시 마다 서버시간 동기화 하기
0 6 * * * root /usr/bin/rdate -s time.bora.net && /sbin/clock -w
▶ 크론 허용 유저 등록
/etc/cron.allow 파일에 허용할 아이디를 추가
▶ 크론 거부 유저 등록
/etc/cron.deny 파일에 거부할 아이디를 추가
▶ 크론 수행 로그 파일
/var/log/cron 파일에 크론 수행한 로그가 기록된다.
'LAMP' 카테고리의 다른 글
구글봇 및 검색봇 차단하여 트래픽 줄이기 (0) | 2016.03.02 |
---|---|
아파치 이미지파일 로그 안나오게 하기 (0) | 2016.03.02 |
리눅스 사용자 DB & Data 자동 백업 (0) | 2016.02.26 |
리눅스 트래픽 모니터링 쉘스크립트 (0) | 2016.02.26 |
리눅스 여러개의 파일에서 특정문자열 치환 (0) | 2016.02.25 |