RHCSA 준비/03. 작업 스케줄링

3.3 주기적인 시스템 작업 예약 (/etc/crontab)

Jaden Park 2021. 5. 24. 18:01
  • 주기적인 예약 작업을 수행하는 도구는 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