- 주기적인 예약 작업을 수행하는 도구는 cron과 anacron이 있음.
- cron은 매 분마다 작업을 확인하여 수행.
- 하지만, 시스템이 유지보수 또는 오류로 인해 셧다운 상태에서 예약 작업을 수행해야 할 시점이 경과하였을 경우 cron으로 예약된 작업은 동작하지 않음.
/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR su$
# | | | | |
# * * * * * user-name command to be executed
- /etc/crontab 파일에 직접 예약 작업을 등록할 수도 있지만, 파일에 직접 등록하는 것보다 이 파일을 템플릿으로 사용하는 것이 좋음.
예시 | 설명 |
---|---|
* * * * * echo | “1분 마다” |
0 * * * * echo | “1시간 마다” |
30 7 * * 1 echo | “매주 월요일 7:30분” |
0 0 25 12 * echo | “매년 크리스마스 마다” |
0 9-18 * * * echo | “9시부터 18시 까지” |
0 9,12,18 * * * echo | “아침점심저녁으로만” |
*/3 * * * * echo | “3으로 나눠 떨어질 때(매 3분마다) (0분 3분 6분 9분…)” |
메타 문자 | 설명 |
---|---|
* | 조건에 대해 무조건 참(True)을 의미 |
- | 범위를 지정할 수 있음 |
, | 다수의 값을 지정할 수 있음 |
/ | 조건에 대한 주기를 지정할 수 있음 |
20분마다 Jaden 사용자가 주기적으로 wall "It's time to break time." cron 작업을 작업을 수행
[root@centOS8]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR su$
# | | | | |
# * * * * * user-name command to be executed
*/20 * * * * Jaden wall "It's time to break time."
Anacron
- 하루에 한 번 작업을 확인하여 수행
- anacron은 시스템이 셧다운되어 예약 작업이 실행되지 않았을 경우, 실행되지 않은 예약 작업을 확인하여 시스템이 다시 부팅되었을 때, 다시 작업을 수행
- anacron은 cron으로 인한 예약 작업의 누락을 보완하기 위해 나온 도구
'RHCSA 준비 > 03. 작업 스케줄링' 카테고리의 다른 글
3.2 주기적인 작업 예약 (0) | 2021.05.24 |
---|---|
3.1 단일성 작업 예약 (0) | 2021.05.24 |