at 예약 작업
쉽게 말하면
정해진 시각에 딱 한 번만 일을 시키는 예약이에요. '오늘 밤 11시에 한 번 재부팅'처럼요. 반복은 cron, 한 번은 at이에요.
시험용 정의
at은 지정한 시각에 명령을 한 번 실행하도록 예약하는 명령이다. 데몬 atd가 실행한다. 예약 목록은 atq, 삭제는 atrm.
비유로 이해하기
택배 날짜 지정 배송이다. "금요일 오후 3시에 한 번" 도착하게 예약하고, 목록 확인·취소도 할 수 있다.
자세히
사용법
at 23:00 입력 → at> 프롬프트에 실행할 명령을 줄마다 입력 → Ctrl+D(EOF)로 끝내면 job 3 at Sat Sep 26 23:00:00 2026처럼 등록된다. 파일로 넘기려면 at -f script.sh 23:00.
시각 표기 예
| at 14:30 | 오늘(지났으면 내일) 14시 30분 |
| at 2pm tomorrow | 내일 오후 2시 |
| at now + 10 minutes | 10분 뒤 |
| at now + 2 hours | 2시간 뒤 |
| at noon / midnight / teatime | 정오 / 자정 / 오후 4시 |
| at 09:00 2026-12-25 | 특정 날짜 |
관리 명령
| 명령 | 뜻 |
|---|---|
| atq (= at -l) | 예약된 작업 목록 |
| atrm 번호 (= at -d 번호) | 작업 삭제 |
| at -c 번호 | 작업 내용 보기 |
| batch | 시스템 부하가 낮을 때(load average 기준) 실행 |
| /etc/at.allow · /etc/at.deny | 사용 허용·거부 사용자 목록 (cron과 같은 규칙) |
시험에 이렇게 나와요
- 한 번만 예약 실행 →
at 시각(반복은 cron), 예약 목록 →atq, 삭제 →atrm 번호 - 사용 제한 파일 → /etc/at.allow, /etc/at.deny
확인 문제
Q1. 오늘 밤 11시에 딱 한 번만 서버를 재부팅하고 싶다. 알맞은 도구는?
- cron
- at
- nohup
- nice
정답 보기
2번 at
반복은 cron, 한 번 예약은 at. at 23:00 → reboot 입력 → Ctrl+D로 등록한다.
Q2. at으로 예약된 작업 목록을 확인하는 명령은?
- crontab -l
- at -r
- atrm
- atq
정답 보기
4번 atq
atq다(at -l과 같다). atrm은 예약 작업을 지우고, crontab -l은 cron 작업 목록을 본다.
Q3. at 명령 입력을 마치고 작업을 등록할 때 누르는 키는?
- Esc
- Ctrl+C
- Ctrl+D
- Ctrl+Z
정답 보기
3번 Ctrl+D
Ctrl+D(EOF, 입력 끝)다. at 프롬프트에 명령을 적은 뒤 Ctrl+D를 누르면 등록된다. Ctrl+C는 취소, Ctrl+Z는 일시 정지다.
Q4. 3번 at 작업을 삭제하는 명령은?
- atq -d 3
- kill %3
- atrm 3
- at -r3
정답 보기
3번 atrm 3
atrm 3이다(at -d 3과 같다). 작업 번호는 atq로 확인한다. kill %3은 셸의 작업(job)을 끝내는 명령이다.
헷갈리기 쉬운 O·X
at은 지정한 시각에 작업을 매일 반복 실행한다.
정답 보기
X 한 번만. 반복은 cron.
at now + 5 minutes 는 5분 뒤에 실행하도록 예약한다.
정답 보기
O 맞는 설명이다.
batch는 시스템 부하가 낮을 때 작업을 실행한다.
정답 보기
O 맞는 설명이다.