--- title: at — 일회성 예약 실행 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 특정 시각에 한 번만 실행할 작업을 예약하는 명령어. 점검·배포 창에 유용. tags: 프로그램, 자동화 및 예약 작업, at --- **💬 "at 명령어"** at은 **한 번만 실행**되는 예약입니다. cron과 달리 반복되지 않습니다. 트래픽이 적은 시각에 재시작·점검을 예약할 때 씁니다. - **개념**: 지정한 시각에 한 번 명령을 실행합니다. - **시각 지정**: '02:30' 또는 'now + 10 minutes' 형식을 씁니다. - **목록**: atq로 예약 목록을 봅니다. - **취소**: atrm으로 예약을 취소합니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | at <시각> | 해당 시각에 실행할 작업을 입력 모드로 받습니다 | | atq | 예약 목록 확인 | | atrm <번호> | 예약 취소 | | -f <파일> | 스크립트 파일을 예약합니다 | ## 필수 명령어 조합 3가지 - `echo '/opt/app/bin/restart.sh' | at 03:30` — 새벽 03:30에 재시작 예약 - `atq` — 예약 목록 확인 - `atrm 7` — 7번 예약 취소 **💬 "같은 문제 재발 방지까지 고려한 예시 보여줘"** 실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다. ### 1단계 · 예약 시각과 명령을 지정합니다. ``` echo '/opt/app/bin/restart.sh > /tmp/restart.log 2>&1' | at 03:30 ``` ### 2단계 · 확인 예약 목록을 봅니다. ``` atq ``` ### 3단계 · 취소/검증 필요하면 취소하고 결과 로그를 확인합니다. ``` atrm 7 ; cat /tmp/restart.log ``` ## 실무에서는 이렇게 씁니다 ### 1. 트래픽 낮은 시각 재시작 **상황** — 주간 점검 창에 서비스를 재시작해야 합니다. ``` echo 'systemctl restart myapp' | at 04:00 ``` **결과** — 04:00에 한 번 재시작이 실행됩니다. **포인트** — 재시작 후 헬스체크를 같은 스크립트에 넣어 자동 검증합니다. ### 2. 임시 작업 예약 **상황** — 30분 뒤 일회성 정리를 원합니다. ``` echo '/opt/app/bin/cleanup.sh' | at now + 30 minutes ``` **결과** — 30분 뒤 한 번 실행됩니다. **포인트** — atd 서비스가 꺼져 있으면 예약이 실행되지 않으니 확인합니다. ## 주의할 점 - atd 서비스가 중지되어 있으면 예약이 실행되지 않습니다. - 출력 리다이렉션을 안 하면 결과를 볼 수 없습니다. - 재부팅을 넘겨 예약이 유지되는지 확인(일부 환경은 atd만으로는 부족)이 필요합니다. ## 실제 실행 화면 새벽 04:00 재시작 작업을 예약하고 목록을 확인한 결과입니다. ![at 명령어 실행 결과: 일회성 예약과 목록](https://games.cursorai.co.kr/assets/at-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/automation/at.html