cron 은 리눅스/유닉스 기반 시스템에서 주기적인 작업을 실행하기 위한 스케줄링 시스템이다.
정해진 시간에 자동으로 프로그램이나 스크립트를 실행하여 반복 작업을 자동화하는데 사용된다.
백그라운드에서 실행되는 시스템 서비스로 정해진 시간에 작업을 실행한다.
일반적으로 시스템이 부팅될 때 자동으로 시작되며 특정 사용자의 cron 테이블을 읽어 정의된 작업을 예약한다.
각 사용자에 대한 스케줄링 정보를 저장하는 파일이다.
각 사용자는 자신의 cron 테이블에 원하는 작업을 등록하여 정해진 시간에 실행하도록 스케줄링할 수 있다.
사용자는 # crontab
명령어를 사용하여 자신의 cron 테이블을 관리한다.
각 사용자는 자신의 cron 테이블에 작업을 등록한다.
/var/spool/cron 디렉터리에 저장되며 # crontab
명령어를 사용하여 작업을 추가, 수정, 삭제한다.
특정 사용자가 아닌 시스템 전체에서 실행되어야 하는 작업을 등록한다.
/etc/crontab 파일에 저장되며 /etc/cron.d/ 디렉터리에 있는 파일들도
시스템 전체 cron 테이블을 구성하는데 사용된다.
# vi /etc/crontab
...
30 3 * * * /home/admin/monitoring.sh
...
cron 파일의 필드는 아래와 같이 작성한다.
분(0-59) 시(0-23) 일(1-31) 월(1-12) 요일(0-6) 작업
위 예시에 대한 내용은 매일 3시 30분에 /home/admin/monitoring.sh 스크립트를 실행한다.
각 필드는 빈 칸 또는 탭으로 구분되며, 별표(*)는 모든 값을 의미한다.
작업은 실행하고자 하는 명령어나 스크립트를 의미한다.