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)

배치 처리는 일괄적으로 작업을 처리하는 방식으로, 주로 대량의 데이터를 처리하거나 정기적인 작업을 자동화하는 데 사용됩니다. 배치 작업은 주로 시스템 자원이 적게 사용되는 시간대에 실행되어 시스템의 부하를 줄이는 데 기여합니다.
 
디스크확장 권한
Loading...