Study

CentOS(센트오에스) 7 crontab(크론탭)

메디츠 2024. 1. 7. 10:31
반응형

2021년 2월 기준.

 

yum -y install cronie

// 크론탭 yum 설치

systemctl status crond

// 크론탭 확인

systemctl start crond

// 크론탭 시작

ps -ef | grep crond

// 프로세스 확인

systemctl enable crond

// 자동실행 설정

systemctl list-unit-files

// 자동실행 확인

 

crontab -e

// 크론탭 편집

crontab -l

// 리스트 조회

crontab -r

// 리스트 전체 삭제

 

Crontab를 사용할 때는 작업할 내용에 대하여 줄바꿈을 사용할 수 없으며 1줄로 작성.

# Example of job definition:

# .---------------- 분 (0 - 59)

# | .------------- 시간 (0 - 23)

# | | .---------- 일자 (1 - 31)

# | | | .------- 월 (1 - 12) OR jan,feb,mar,apr ...

# | | | | .---- 요일 (0 - 6) (일요일=0 or 7) OR 일요일(0 또는 7), 월요일(1), 화요일(2), 수요일(3), 목요일(4), 금요일(5), 토요일(6)

# | | | | |

# * * * * * 사용자명 작업할 내용

 

매분 작업 실행

# 매분 crontab 리스트를 crontab_list.txt에 저장 ( ">>"은 기존 내용에 추가를 할 때 사용하는 기호입니다.)

* * * * * crontab -l >> /crontab_data/crontab_list.txt

 

특정 시간에 실행

# 매주 월요일 오후 1시 10분에 crontab 리스트를 crontab_list.txt에 저장

10 13 * * 1 crontab -l >> /crontab_data/crontab_list.txt

 

특정 시간 반복 실행

# 매주 월요일 오후 1시 10분, 20분, 30에 crontab 리스트를 crontab_list.txt에 저장

10,20,30 13 * * 1 crontab -l >> /crontab_data/crontab_list.txt

 

범위를 지정한 특정시간 반복 실행

# 매주 월요일 오후 1시 10분부터 20분까지 매분마다 crontab 리스트를 crontab_list.txt에 저장

10-20 * * 1 crontab -l >> /crontab_data/crontab_list.txt

 

간격 반복 실행

# 매 5분마다 crontab 리스트를 crontab_list.txt에 저장

/5 * * * crontab -l >> /crontab_data/crontab_list.txt

 

다양한 반복 실행

# 매주 월요일에서 금요일까지 오후 1시, 2시, 3시에 매 5분마다 crontab 리스트를 crontab_list.txt에 저장

/5 13,14,15 * 1-5 crontab -l >> /crontab_data/crontab_list.txt

 

Crontab 작성 기호 종류

* # 범위 내 모두 실행

, # 나열된 숫자 중 일치하는 값에 실행

- # 두 숫자 사이에 포함된 범위에 실행

/ # 지정한 숫자에 실행

 

Crontab이 정상적으로 실행되었는지 로그를 통해서 확인.

crontab -e 명령을 통해 아래와 같이 매분 crontab -l 리스트를 백업할 수 있는 예약작업을 설정.

* * * * * crontab -l >> /crontest/crontab_list.txt

cat 명령어를 통해 crontab이 16:35:01, 16:36:01 매분 단위로 crontab이 실행한 작업내역을 확인.

cat /var/log/cron

Jun 11 16:35:01 netbox-test CROND[1775]: (root) CMD (crontab -l >> /crontest/crontab_list.txt)

Jun 11 16:35:01 netbox-test crontab[1776]: (root) LIST (root)

Jun 11 16:36:01 netbox-test CROND[1797]: (root) CMD (crontab -l >> /crontest/crontab_list.txt)

Jun 11 16:36:01 netbox-test crontab[1798]: (root) LIST (root)

 

반응형