반응형
배치 프로그램
1. 배치 프로그램(Batch Program) 20년 3회 기출
- 사용자와의 상호 작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것
- 이벤트성 배치 특정 조건(이벤트)을 설정해두고 조건이 충족될 때만 수행
- On-Demand 배치 사용자 요청 시 수행
- 정기 배치 일, 주, 월과 같이 정해진 기간에 정기 수행
1.1 필수요소 #대자견안성
- 대용량 데이터 대량의 데이터를 가져오거나, 전달하거나, 계산 등의 처리가 가능해야 함
- 자동화 심각한 오류가 발생하는 상황을 제외하고는 사용자의 개입 없이 수행돼야 함
- 견고성 잘못된 데이터나 데이터 중복 등의 상황으로 중단되는 일 없이 수행돼야 함
- 안정성/신뢰성 오류가 발생하면 오류의 발생 위치, 시간 등을 추적할 수 있어야 함
- 성능 다른 응용 프로그램(애플리케이션)의 수행을 방해하지 않아야 하고, 지정된 시간 내에 처리가 완료돼야 함
1.2 배치 스케줄러(Batch Scheduler), 잡 스케줄러(Job Scheduler)
- 일괄 처리 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구
(1) 스프링 배치(Spring Batch): Spring 프레임워크의 특성을 그대로 가져와 스프링이 가지고 있는 다양한 기능들을 모두 사용할 수 있는 오픈 소스 프레임워크
- 주요 구성 요소: Job, Job Launcher, Job Repository, Step
(2) 쿼츠(Quartz): Spring 프레임워크로 개발되는 응용 프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈 소스 라이브러리
- 주요 구성 요소: Job, Job Detail, Trigger, Scheduler
(3) Cron: 리눅스 기본 스케줄러 도구
crontab 명령어를 통해 작업 예약
구성 및 순서
[초][분][시][일][월][요일][연도] 명령어
- Cron 표현식 필드
초(Seconds) | 0~59, 특수문자 |
분(Minutes) | 0~59, 특수문자 |
시간(Hours) | 0~23, 특수문자 |
일(Day) | 1~31, 특수문자 |
월(Months) | 1~12, JAN~DEC, 특수문자 |
요일(Week) | 0,6, SUN-SAT, 특수문자 |
연도(Year)(생략가능) | 1970~2099, 특수문자 |
- Cron 표현식 특수문자
* 모든 수 ? 해당 항목 미사용 - 기간 설정 , 특정 기간 설정 / 시작시간과 반복 간격 설정 L 마지막 기간에 동작 W 가장 가까운 평일에 동작 # 몇 번째 주, 요일 설정
예시
# 매분 test.sh 실행
* * * * * /home/script/test.sh
# 매 10분마다 test.sh 를 실행
*/10 * * * * /home/script/test.sh
# 매주 금요일 오전 7시 45분에 test.sh 를 실행
45 7 * * 5 /home/script/test.sh
# 매일 매시간 0분, 20분, 40분에 test.sh 를 실행
0,20,40 * * * * /home/script/test.sh
# 매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행
0-30 1 * * * /home/script/test.sh
# 25일에서 26일까지 22시,23시에 매 10분마다 test.sh 를 실행
*/10 22,23 25-26 * * /home/script/test.sh
반응형
'Challenges > 정보처리기사' 카테고리의 다른 글
[정보처리기사]4.프로그래밍 언어 활용/프로그래밍 언어/프로그래밍 언어 개요 (0) | 2022.07.02 |
---|---|
[정보처리기사]4.프로그래밍 언어 활용/서버 프로그램 개발 환경 구축/패키지 소프트웨어 (0) | 2022.07.02 |
[정보처리기사]4.프로그래밍 언어 활용/서버 프로그램 개발 환경 구축/보안 (0) | 2022.07.02 |
[정보처리기사]4.프로그래밍 언어 활용/서버 프로그램 개발 환경 구축/서버 개발 (0) | 2022.07.02 |
[정보처리기사]4.프로그래밍 언어 활용/서버 프로그램 개발 환경 구축/개발환경 구축 (0) | 2022.07.02 |