본문 바로가기
IT/Linux

[Linux] - 리눅스(Linux) 크론탭(Crontab) 사용법 (스케줄러, 배치)

by 차이나는 개발자 2023. 11. 3.
728x90
반응형

#크론탭(Crontab)이란?

크론탭(Cron Tab)은 유닉스 및 리눅스 운영 체제에서 주기적으로 실행되는 작업을 예약하기 위해 사용되는 시스템 도구입니다. 크론탭은 정해진 시간에 명령어 또는 스크립트를 실행할 수 있도록 도와줍니다.

크론탭은 크론(cron)이라는 데몬 프로세스를 사용하여 작동합니다. 사용자는 크론탭을 편집하거나 관리하기 위해 특정 형식의 명령어를 사용합니다. 일반적으로 크론탭은 다음과 같은 구조로 작성됩니다:

* * * * * command

위의 각 별표(`*`)는 크론탭의 시간 설정을 나타냅니다. 각 위치는 분, 시간, 날짜, 월, 요일을 나타내며, 와일드카드(`*`)는 해당 위치의 값에 상관없이 모든 값을 의미합니다. 명령어(command)는 주기적으로 실행되어야 하는 작업을 나타냅니다.

예를 들어, 매일 오전 9시에 스크립트를 실행하려면 다음과 같이 크론탭을 설정할 수 있습니다:

0 9 * * * /path/to/script.sh

위의 예시에서 `0 9 * * *`는 매일 오전 9시를 나타내며, `/path/to/script.sh`는 실행할 스크립트의 경로를 나타냅니다. 이 크론탭 설정은 매일 오전 9시에 스크립트를 실행하도록 예약하는 것입니다.

크론탭은 주기적으로 실행되어야 하는 자동화된 작업을 예약하는 데 유용하게 사용됩니다. 예를 들어, 데이터베이스 백업, 로그 파일 정리, 스케줄된 작업 등을 자동으로 처리할 수 있습니다.

 

 

#스케줄러란?
스케줄러(Scheduler)는 컴퓨터 시스템에서 작업을 특정 시간에 실행하도록 예약하는 도구 또는 서비스를 말합니다. 스케줄러는 시스템 리소스를 효율적으로 관리하고 자동화된 작업을 실행하는 데 사용됩니다.

스케줄러의 주요 목적은 다음과 같습니다:

1. **작업 예약**: 특정 시간 또는 주기에 작업을 예약합니다. 예를 들어, 데이터베이스 백업이나 시스템 유지보수 작업은 스케줄러를 사용하여 정기적으로 예약할 수 있습니다.

2. **자동화**: 반복적이고 예측 가능한 작업을 자동으로 실행합니다. 이를 통해 인간의 개입 없이 일상적이고 반복적인 작업을 처리할 수 있습니다.

3. **리소스 관리**: 시스템 리소스를 효율적으로 관리하여 작업 실행의 우선순위를 조절하고, 리소스 사용을 최적화합니다. 이를 통해 여러 작업이 동시에 실행될 때 시스템 성능과 안정성을 유지할 수 있습니다.

스케줄러는 다양한 운영 체제와 프로그래밍 환경에서 사용됩니다. 리눅스와 유닉스 시스템에서는 크론탭(Cron Tab)을 사용하여 스케줄링 작업을 예약합니다. 윈도우 운영 체제에서는 작업 스케줄러(Task Scheduler)를 사용하며, 프로그래밍 언어에서는 내장된 스케줄링 기능이나 외부 라이브러리를 사용할 수 있습니다.

스케줄러를 사용하면 일상적이고 반복적인 작업을 효율적으로 관리하고 자동화할 수 있으며, 시스템의 안정성과 생산성을 향상시킬 수 있습니다.

 

 

# 크론탭(Crontab) 주기표

크론탭 주기표는 크론탭의 시간 설정을 나타내는데 사용되는 표현입니다. 크론탭 주기표에는 다음과 같은 다섯 개의 필드가 있습니다:

* * * * *
| | | | |
| | | | +----- 요일 (0 - 6) (0은 일요일)
| | | +------- 월 (1 - 12)
| | +--------- 일 (1 - 31)
| +----------- 시간 (0 - 23)
+------------- 분 (0 - 59)

각 필드는 주기적으로 실행될 작업의 시간을 나타냅니다. 각 위치에는 특정 값을 지정하거나 와일드카드(`*`)를 사용하여 해당 위치의 모든 값을 나타낼 수 있습니다.

 


# 크론탭(Crontab) 주기 예시

-매 분마다 실행

* * * * *

 


-매 시간 정각에 실행

0 * * * *

 


-매일 자정에 실행

0 0 * * *

 


-주중(월요일부터 금요일까지) 오전 8시에 실행

0 8 * * 1-5

 


-매월 1일 정오에 실행

0 12 1 * *

 

 

-매월 10일 17시 15분에 실행

15 17 10 * *

 

 

-매일 08:00에 실행

0 8 * * *

 

 

-매달 둘째주 토요일 17시에 실행

0 17 8-14 * 6

 

 


이러한 방식으로 크론탭 주기표를 사용하여 특정 시간에 작업을 예약할 수 있습니다. 필요에 따라 각 필드를 조합하여 크론탭을 설정하면 됩니다.

 

 

 

728x90
반응형

댓글