티스토리 뷰

이모저모/IT 이모저모

cron 설정

앙망 2011. 11. 10. 15:31







특정한 시간에 주기적으로 스크립트를 실행하기 위해서 cron을 사용하려고 한다.
먼저 크론에 대해 간략히 알아보고 사용법을 익힌다.






목차

  • cron(크론) 은?
  • crontab 파일
  • crontab 명령어

cron(크론) 은?

원하는 시간에 명령(프로그램)을 시키기 위한 데몬

주기적으로 운영 중에 만들어진 필요하지 않는 임시 파일을 정리하거나, 운영체제 운영에 필요한 데이터를 갱신하는 등의 작업을 통해 리눅스가 최적의 상태를 유지할 수 있게 할 수 있다.

crontab 파일

작업 설정 파일을 crontab 파일이라고 한다.

crontab 파일 위치

리눅스 /var/spool/cron/ID
솔라리스 /var/spool/corn/crontabs/ID

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시를 의미함).

사용 예

01 * * * * root run-parts /etc/cron.hourly
- 매일 매시 01분마다 /etc/cron.hourly 디렉토리내에 존재하는 파일들을 실행

crontab 명령어

crontab -l

설정 내용을 조회한다.

[test@test:/home/test]$crontab -l
#05 23 * * * /home/test/batJob/RegBat.sh
#05 01 * * * /home/test/batJob/SearchEva.sh
#05 02 1 * * /home/test/batJob/SearchEvaMonth.sh
#05 03 1 * * /home/test/batJob/SearchEvaYear.sh
#로그압축
0 3 * * * /home/test/gzlog.sh
0 5 * * * . /home/test/klca/klca.sh &
30 07 * * * . /home/test/klca/corpUpdate.sh &

crontab -e

crontab 파일을 편집한다.

댓글