1. cron 정의
유닉스 계열의 스케줄러입니다. 주기적인 작업에 대해 일정한 시간, 일정한 날짜, 일정한 간격 등 주기적으로 실행하는 작업에 대해 스케줄링하기 위한 소프트웨어 입니다.
2. cron 특징 및 설정 파일
- 정기적인 반복 작업 수행을 위한 유틸리티
- 정기적 스케줄 관리, 정기적인 작업을 지정시간에 처리하기 위해 사용
- 데몬 : /usr/sbin/crond
- 설정파일 : /etc/crontab
3. Cron 과 Crontab
cron은 셸 명령어들이 주어진 일정에 주기적으로 실행하도록 규정해놓은 crontab (cron table) 파일에 의해 구동됩니다.
crontab 파일들은 잡 목록 및 cron 데몬에 대한 다른 명령들이 보관된 위치에 저장되어 있습니다.
4. crontab 옵션 정리
옵션 | 내용 | 명령 |
-e | crontab 리스트 편집(edit) | #crontab -e |
-l | crontab 리스트 출력(list) | #crontab -l |
-r | crontab 리스트 삭제(remove) | #crontab -r |
-u | crontab 사용자 지정(user), root가 사용 | #crontab -u 3210w0 -l |
5. crontab 사용법
# ┌───────────── min (0 - 59) # │ ┌────────────── hour (0 - 23) # │ │ ┌─────────────── day of month (1 - 31) # │ │ │ ┌──────────────── month (1 - 12) # │ │ │ │ ┌───────────────── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; # │ │ │ │ │ 7 is Sunday, the same as 0) # │ │ │ │ │ # * * * * * command to execute 1 2 3 4 5 6 |
1 | 2 | 3 | 4 | 5 | 6 |
* | * | * | * | * | command |
분 0-59 | 시 0-23 | 일 1-31 | 월 1-12 | 요일 0-6 | 명령(절대경로) |
ex #1) 매주 일요일 backup 쉘 실행
* * * * 0 /bin/sh backup.sh
ex #2) 매일 2,3,4시 backup 쉘 실행
* 2-4 * * * /bin/sh backup.sh
ex #3) 매일 1,3,7시 backup 쉘 실행
* 1,3,7 * * * /bin/sh backup.sh
ex #4) 5분마다 backup 쉘 실행
*/5 * * * * /bin/sh backup.sh
6. crontab 명령 접근 제어
- crontab 명령을 실행할 수 있는 사용자 제한
- /etc/cron.allow, /etc/cron.deny
/etc/cron.allow | /etc/cron.deny | 접근제어 |
O | X | cron.allow 등록된 계정만 가능(화이트리스트 방식) |
X | O | cron.deny 등록된 계정만 접근 불가능(블랙리스트 방식) |
O | O | cron.allow 우선 (cron.allow 등록된 계정만 가능) |
X | X | root만 crontab 가능 |
'시스템(Linux)' 카테고리의 다른 글
권한 및 그룹설정에 대해 알아보겠습니다. (2) | 2023.01.30 |
---|---|
접근통제 보안 모델에 대해 알아보겠습니다. (0) | 2023.01.23 |
리눅스(Linux) find 명령어 사용법 (2) | 2023.01.08 |
쉘(Shell) 에 대해 알아보겠습니다. (0) | 2023.01.07 |
root 계정으로 SSH 접근 (0) | 2023.01.03 |