리눅스 스케줄링 관리: at과 cron의 차이점
리눅스 서버 관리에서 특정 작업을 정해진 시간에 자동으로 실행하는 것은 매우 중요합니다. 리눅스는 이를 위해 at
과 cron
두 가지 스케줄링 도구를 제공합니다.
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
은 정기적인 작업에 적합합니다. 작업의 성격에 따라 적절한 도구를 선택하여 사용하면 효율적인 서버 관리가 가능합니다.
댓글남기기