type
status
date
slug
summary
tags
category
icon
password
스케줄링(Scheduling)
스케줄링은 소프트웨어 공학에서 자원(예: 프로세서 시간, 메모리, 네트워크 대역폭 등)을 효율적으로 할당하고 관리하는 과정입니다. 이는 시스템의 성능을 최적화하고, 응답 시간을 최소화하며, 자원의 공정한 분배를 보장하기 위해 중요합니다. 스케줄링 알고리즘은 다양한 기준(예: 우선순위, 기한, 공정성 등)에 따라 작업을 정렬하고 실행 순서를 결정합니다.
단발성 작업 수행
at
at
명령어는 지정된 시간에 한 번 작업을 실행하도록 예약하는 데 사용됩니다. 이는 특정 시간에 자동으로 작업을 수행해야 할 때 유용합니다.주기적 작업 수행
crontab
crontab
명령어는 주기적으로 반복되는 작업을 예약하는 데 사용됩니다. 이를 통해 매일, 매주, 매월 등 정해진 시간에 자동으로 작업을 수행할 수 있습니다.crond 데몬에 의해 처리되며, 시스템이 부팅될 때 자동으로 시작됩니다.
사용자 계정 당 하나만 가질 수 있습니다.
cron 시각 작성 요령
crontab
파일에서 작업의 실행 시각을 지정할 때는 다음과 같은 형식을 사용합니다:각 필드는 공백으로 구분되며, 별표(*)는 모든 가능한 값의 와일드카드입니다.
0 2 * * *
: 매일 오전 2시에 작업 실행
30 1 * * 1
: 매주 월요일 오전 1시 30분에 작업 실행
0 0 1 * *
: 매월 1일 자정에 작업 실행
/15 * * * *
: 매 15분마다 작업 실행
배치(Batch)
배치 처리는 일괄적으로 작업을 처리하는 방식으로, 주로 대량의 데이터를 처리하거나 정기적인 작업을 자동화하는 데 사용됩니다. 배치 작업은 주로 시스템 자원이 적게 사용되는 시간대에 실행되어 시스템의 부하를 줄이는 데 기여합니다.