본문 바로가기
Linux/CentOS

크론(cron)

by oncerun 2021. 7. 3.
반응형

 

cron

개요

 

 - 크론은 미리 정한 시간에 명령어, 프로그램, 작업 등을 실행할 수 있는 서비스이다.  at 명령어와 헷갈릴 수 있지만 at 명령어는 1회만 예약 시간에 작업을 실행할 수 있지만 크론 서비스는 매일, 매주, 매월 등 반복적으로 실행할 수 있기 때문에 실무에서도 자주 사용되고 있다.

 

크론 서비스는 현 시각 기준 작업을 실행해야 하는 작업이 있는지 확인하고, 작업이 있다면 이를 실행하는 크론 데몬(crond)과 예약 작업 정보가 담겨있는 설정 파일로 구성된다.

  1. 크론 데몬은 시스템 전역 사용 목적을 위한 /etc/crontab
  2. 시스템 유틸리티 등 개별 패키지에 의한 작업 예약을 위한 /etc/crond
  3. 개발 사용자를 위한 /var/spool/cron 파일을 감시한다.
  4. 매시간, 매일, 매주, 매달마다 작업 예약을 위한 /etc/cron.hourly , /etc/cron.daily, /etc/weekly, /etc/monthly 파일도 존재한다.

 

크론 설정 파일 구성

 

- 총 7개의 필드로 구성되어 있으며 분, 시, 일, 월, 요일, 사용자명, 실행할 명령어 순서로 기재한다.

 

minute hour day of month month day of week user-name command
to be
executed 

 

 

ex) 매년 1월 월요일마다 12:30 PM에 a.sh 스크립트를 실행한다.

 

30 12 * 1 mon /home/asnic/a.sh

ex) 매일 12시부터 18시까지 b.sh 스크립트를 실행한다.

0 12-18 * * * /home/asnic/b.sh

 

ex) 매주 금요일 9시와 18시에 c.sh 스크립트를 실행한다.

0 9.18 * * fri /home/asnic/c.sh

 

 

crontab 명령어

 

- 사용자가 반복적으로 수행할 작업을 예약할 때 사용하는 명령어이다.  위에 예시처럼 설정 파일을 직접 편집하는 것보다 crontab을 통해 실행한 vi를 활용해 편집하는 것을 권장한다. (vi는 자주 사용해야 단축키가 외워진다.)

설정 파일은 /var/spool/cron 밑에 사용자 이름으로 파일이 생성된다.

 

직접 파일에 작성한 후 crontab에 반영하기 위해선 crontab mycron.txt 

설정 편집을 위해선 crontab -e  확인은 crontab -l이다.

 

 

at 명령어와 crontab은 기본적으로 root 사용자만 사용할 수 있으며, 일반 사용자는 사용할 수 없다.

/etc/at.allow, /etc/at.deny를 활용해 at 명령어를 일반 사용자에게 권한을 준 것처럼 crontab 또한

/etc/crontab.allow, /etc/crontab.deny를 활용할 수 있다. 각 파일은 한 줄에 한 명의 사용자 이름을 입력한다.

반응형

'Linux > CentOS' 카테고리의 다른 글

시스템 로그 관리  (0) 2021.08.01
rpm -options  (0) 2021.07.30
사용자 패스워드 관리 정책  (0) 2021.07.30
리눅스 프록시 서버 SQUID  (0) 2021.07.10
프로세스 관리  (0) 2021.07.03

댓글