cron 시스템 활용하기 > 운영체제

본문 바로가기
사이트 내 전체검색


회원로그인

운영체제

linux | cron 시스템 활용하기

페이지 정보

작성자 100K5 작성일12-10-21 09:13 조회38,630회 댓글0건

본문

[참고] 아래의 자료는 www.superuser.co.kr 의 강좌에서 발취 한 것입니다.
 
ㅇ cron 시스템이란?
 - 특정 작업을 정해진 시간에 주기적이고 반복적으로 실행하기위한 데몬과 그 설정들
 - cron 시스템에는 시스템에서 기본적으로 사용하는 cron 설정이 있으며, 이를 시스템 크론 이라고 함
 - cron 시스템에는 root나 일반사용자가 자신의 cron 설정을 직접하여 사용하는 사용자 크론이 있음
 
ㅇ cron에 관한 데몬과 파일들
 - cron 데몬파일 : /usr/sbin/crond
 - cron 메논의 시작/종료/재시작 : /etc/rc.d/init.d/crond start/stop/restart
 - cron 실행확인 : 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
 
ㅇ 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 에 기록
   ------------------------------------------------------------------------------------
 
시스템 cron 설정의 예(/etc/crontab 파일의 일 부분)
  [root@edu anacron]# cat /etc/crontab
  SHELL=/bin/bash
  PATH=/sbin:/bin:/usr/sbin:/usr/bin
  MAILTO=root
  HOME=/
  # run-parts
  01 * * * * root run-parts /etc/cron.hourly
  02 4 * * * root run-parts /etc/cron.daily
  22 4 * * 0 root run-parts /etc/cron.weekly
  42 4 1 * * root run-parts /etc/cron.monthly
  [root@edu anacron]#
 
사용자 cron  설정의 예(root의 cron 설정 예)
  [root@edu anacron]# crontab -l
  00 01 * * * su - root /usr/bin/rdate -s time.bora.net && /sbin/hwclock -w
  00 03 * * * su - root '/root/backup.sh' >& /dev/null
  00 08 * * * su - root '/root/check_of_system.sh' > /root/COS_result
  [root@edu anacron]#
 
각 필드의 의미
  00 08 * * * su - root '/root/check_of_system.sh' > /root/COS_result
 
  필드번호        : 의미
  첫번째 필드    : 분(minute)을 의미. 0,1,2,3,,,,59분까지를 각각 설정할 수 있음.
  두번째 필드    : 시(hour)를 의미. 0,1,2,3,,,,23시까지를 각각 설정할 수 있음.
  세번째 필드    : 일(day)을 의미. 1,2,3,,,,31일까지를 각각 설정할 수 있음.
  네번째 필드    : 월(month)을 의미. 1,2,3,,,,12월까지를 각각 설정할 수 있음.
  다섯번째 필드 : 요일(weekday)을 의미. 0,1,2,3,,,,7요일까지를 각각 설정할 수 있음.
                        (0과 7은 일요일, 1:월요일, 2:화요일, 3:수요일, 4:목요일, 5:금요일, 6:토요일을 각각 의미함.)
  여섯번째 필드 : 실행권한과 실행될 내용을 각각 의미함.
 
   참고1 : * 기호 : 각 필드자리에 * 기호가 오면 해당 필드의 모든 값을 의미함.
    - 두번째 필드에 *가 오면 매시, 세번째 필드의 *는 매일, 네번째 필드의 *는 매월을 각각 의미함.
   참고2 : - 기호 : 그 사이의 모든 값을 의미함.
    예) 두번째 필드의 “5-9”는 5시,6시,7시,8시,9시를 의미함.
    예) 세번째 필드에 “1-5”는 1일,2일,3일,4일,5일을 의미함.
   참고3 : ,(콤마)기호 : 지정한 모든 값을 의미함.(불규칙적인 값 지정시 사용)
    예) 두번째 필드에 “1,3,4,7,8”는 1시,3시,4시,7시,8시를 의미함.
    예) 세번째 필드에 “1,5,20”는 1일, 5일, 20일을 의미함.

댓글목록

등록된 댓글이 없습니다.


사이트소개 개인정보취급방침 서비스이용약관 Copyright © kkujunhee.net All rights reserved.
상단으로

개인정보관리책임자 : 관리자

모바일 버전으로 보기