1 분 소요

리눅스 서버 관리에서 특정 작업을 정해진 시간에 자동으로 실행하는 것은 매우 중요합니다. 리눅스는 이를 위해 atcron 두 가지 스케줄링 도구를 제공합니다.

at 명령어: 일회성 작업 예약

at 명령어는 한 번만 실행되는 작업을 예약할 때 사용합니다.

# 오늘 저녁 8시에 실행
at 20:00
> 실행할 명령어 입력
> Ctrl+D로 종료

# 내일 오전 10시 30분에 실행
at 10:30 tomorrow

# 3일 후 정오에 실행
at noon + 3 days

작업 스케줄링

작업 스케줄링의 시각적 표현

at 작업 관리

# 예약된 작업 목록 확인
atq

# 특정 작업 삭제
atrm [작업번호]

cron: 정기적인 작업 예약

cron은 주기적으로 반복되는 작업을 예약할 때 사용합니다.

crontab 기본 문법

* * * * * 실행할_명령어
│ │ │ │ │
│ │ │ │ └── 요일 (0-7, 0과 7은 일요일)
│ │ │ └──── 월 (1-12)
│ │ └────── 일 (1-31)
│ └──────── 시 (0-23)
└────────── 분 (0-59)

일반적인 사용 예시

# 매일 오전 3시에 백업
0 3 * * * /scripts/backup.sh

# 매주 일요일 자정에 로그 정리
0 0 * * 0 /scripts/cleanup_logs.sh

# 매월 1일 오전 2시에 월간 리포트 생성
0 2 1 * * /scripts/monthly_report.sh

at과 cron의 차이점

구분 at cron
실행 횟수 1회성 주기적
사용 상황 일회성 유지보수, 예약 종료 정기 백업, 모니터링
문법 자연어와 유사 5개의 시간 필드
관리 방식 atq, atrm으로 관리 crontab -e로 관리

at은 일회성 작업에, cron은 정기적인 작업에 적합합니다. 작업의 성격에 따라 적절한 도구를 선택하여 사용하면 효율적인 서버 관리가 가능합니다.

댓글남기기