1. cron 시스템이란?
- 특정 작업을 정해진 시간에 주기적이고 반복적으로 실행하기 위한 데몬과 그 설정들
- cron시스템에는 시스템에서 기본적으로 사용하는 cron설정이 있으며, 이를 시스템크론이라고 함.
- cron시스템에는 root나 일반사용자가 자신의 cron설정을 직접하여 사용하는 사용자크론이 있음.


* cron에 관한 데몬과 파일들

- cron데몬파일                       :   /usr/sbin/crond *직접실행도 가능
- cron데몬의 시작/종료/재시작 :   /etc/rc.d/init.d/crond start/stop/restart
- crond 실행확인                    :   ps –ef | grep crond
- cron설정파일                       :   /etc/crontab
- 시스템크론 설정디렉토리       :   /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly
- 사용자크론 설정파일             :   /var/spool/cron/* (사용자계정명과 동일한 파일명으로 존재함.)
- 사용자크론설정 명령어          :   /usr/bin/crontab
- cron실행내용 기록되는 로그파일 :   /var/log/cron

*참고 : atd에 의한 수행내역은 /var/log/messages에 기록됨.



2. cron 시스템의 실행 흐름도

전원ON ->
init 데몬 ->
crond 데몬실행 ->
ㅇ /etc/crontab 파일을 읽어들임
- /etc/cron.hourly : 매시마다 수행될 내용들 수행함.
- /etc/cron.daily : 매일 1회 수행될 내용들 수행함.
- /etc/cron.weekly : 매주 1회 수행될 내용들 수행함.
- /etc/cron.monthly : 매월 1회 수행될 내용들 수행함.

ㅇ /var/spool/cron 디렉토리에 있는 파일들을 읽어들임
- 각 사용자들의 개별 cron설정파일들을 읽어들여 설정된 내용을 각 주기에 맞게 수행함.
ㅇ cron에 의해 수행되지 못한 작업 anacron에 의해 수행 시도함.
ㅇ cron 로그파일에 실행기록 : /var/log/cron
- crond에 의해 수행된 수행내용 기록
- anacron에 의해 수행된 수행내용 기록
* atd에 의한 수행기록은 /var/log/messages에 기록

3. cron 시스템 살펴보기

 
4. cron의 실행주기 설정형식과 방법

 첫번째  분. 0~59분
 두번째  시. 0~23시
 세번째  일.1~31일
 네번째  월.1~12월
 다섯번째  요일.1:월, 2:화~7,0:일요일
 여섯번째  실행할 명렁어
"*" : 모든 숫자
"-" : 기간(1-12)
"," : 가각의 숫자 (5,7,9)

crontab -l 설정 목록 (= cat /var/spool/cron/root)
crontab -e 설정 수정 vi에디터로 실행 -> /var/spool/cron/root 파일을 연 것이다.

5. 시스템 cron 이해와 활용
설치 기본값으로 시스템에 설정된 cron
ls -l /etc/cron.hourly/
ls -l /etc/cron.daily/
ls -l /etc/cron.weekly/
ls -l /etc/cron.monthly/
6. 사용자 cron 이해와 활용
ㅇ 사용자 cron 의미
- 개별 사용자가 자신의 cron설정을 개별적으로 할 수 있음.
- 개별 사용자의 cron설정파일은 /var/spool/cron 디렉토리내에 자신의 ID와 동일한 파일로 생성됨

ㅇ 사용자 cron 설정시 사용명령어(crontab)
- 개별사용자의 cron설정 방법 : crontab –e
- 개별사용자의 cron설정 확인 방법 : crontab –l
- 개별사용자의 cron설정 삭제 방법 : crontab –r
- root의 일반사용자 cron설정 방법 : crontab –u 사용자명 –e
- root의 일반사용자 cron설정 확인 방법 : crontab –u 사용자명 –l
- root의 일반사용자 cron설정 삭제 방법 : crontab –u 사용자 -r

ㅇ cron 사용허가(불허가) 설정파일
- /etc/cron.allow 파일 : 이 파일에 등록된 사용자는 crontab으로 cron설정가능함.
- /etc/cron.deny 파일 : 이 파일에 등록된 사용자는 crontab으로 cron설정 불가능함

- 설치초기 값으로는 이 두 파일은 존재하지 않음. 따라서 필요시 생성해야 함.
- 설정방법은 한 행에 하나의 ID씩 기재하면 됨.
- 두 파일이 모두 존재하지 않으면 root만 가능.
- 만약 /etc/cron.allow파일을 만들었다면 root라도 이 파일에 root를 등록해야 사용 가능함.

7. 활용 1: 자동백업 설정하는 cron설정하기

8. at 예약작업 스케줄링 활용
  일회성 작업

9. at 예약작업 스케줄링의 실제 작업예

Posted by 달팽이맛나
,