2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

데비안에서 시스템 재부팅을 예약하는 방법은 무엇인가요?

_____
데비안(Debian)에서 시스템 재부팅을 예약하는 방법을 FAQ 형식으로 정리했습니다.

1. 예약 재부팅이란 무엇인가요?
- 특정 시점이나 주기에 맞춰 자동으로 시스템을 재부팅하도록 설정하는 기능입니다.
- 긴 시간이 걸리는 업데이트나 유지보수 시간을 미리 정해두고, 사람이 직접 명령하지 않아도 자동으로 재부팅됩니다.

2. at 명령어로 한 번만 재부팅 예약하려면?
1) at 설치
• `sudo apt update && sudo apt install at`
• 서비스 활성화: `sudo systemctl enable --now atd`
2) 예약 등록
• 예: “오늘 밤 2시에 재부팅”
– 터미널에서 `echo "sudo /sbin/shutdown -r now" | at 02:00`
• 또는 인터랙티브 모드
– `at 02:00` 입력 후 프롬프트에서 `sudo reboot` 쓰고 Ctrl+D
3) 예약 조회 및 삭제
• 조회: `atq`
• 삭제: `atrm JOB_ID` (JOB_ID는 atq 출력 번호)

3. cron(crontab)으로 반복 재부팅 예약하려면?
1) root 크론 편집
• `sudo crontab -e`
2) 예시 항목 추가
• 매일 새벽 3시에 재부팅
0 3 * * * /sbin/shutdown -r now
• 매주 월요일 오전 5시 재부팅
0 5 * * 1 /sbin/shutdown -r now
3) 변경사항 저장 후 자동 적용

4. systemd 타이머(unit)로 예약하려면?
1) 서비스 유닛 작성 (/etc/systemd/system/reboot-schedule.service)
• 내용 예시:
[Unit]
Description=Scheduled Reboot
[Service]
Type=oneshot
ExecStart=/sbin/shutdown -r +0
2) 타이머 유닛 작성 (/etc/systemd/system/reboot-schedule.timer)
• 내용 예시:
[Unit]
Description=Run reboot-schedule.service daily at 02:00
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
[Install]
WantedBy=timers.target
3) 활성화 및 시작
• `sudo systemctl daemon-reload`
• `sudo systemctl enable --now reboot-schedule.timer`
4) 상태 확인
• `systemctl list-timers --all | grep reboot-schedule`

5. 예약된 재부팅을 취소하려면?
- at 사용 시: `atq`로 JOB_ID 확인 → `atrm JOB_ID`
- crontab 사용 시: `sudo crontab -e` → 해당 라인 삭제
- systemd 타이머 사용 시:
• 중지 및 비활성화 `sudo systemctl disable --now reboot-schedule.timer reboot-schedule.service`

6. 예약 재부팅 실행 권한은 누구에게 필요한가요?
- 시스템 재부팅 명령은 root 권한이 필요합니다.
- 일반 사용자 계정에서 예약하려면 sudoers에 `NOPASSWD: /sbin/shutdown` 등을 설정해야 할 수 있습니다.

7. 예약 재부팅 시 주의사항은?
- 수행 시점에 열린 파일이나 미완료 작업이 있으면 데이터 손실 위험이 있습니다.
- 사용자에게 미리 알림(메일, 메신저 등)을 보내고, 중요 서비스가 자동 복구되도록 스크립트를 준비하세요.
- Persistent=true 옵션(systemd 타이머)을 사용하면 시스템이 껐다 켜진 뒤에도 예약이 유지됩니다.

8. 예약 내역·로그 확인은 어떻게 하나요?
- at 로그: `/var/spool/at` 디렉터리 및 `atd` 서비스 로그 (`journalctl -u atd`)
- cron 로그: `/var/log/syslog` 또는 `/var/log/cron.log` (rsyslog 설정에 따라 다름)
- systemd 타이머 로그: `journalctl -u reboot-schedule.timer` / `journalctl -u reboot-schedule.service`
데비안(Debian)에서 시스템 재부팅을 예약하는 방법은 여러 가지가 있으며, 주로 `at` 명령어 또는 `cron`을 사용하여 설정할 수 있습니다.

아래에서는 이 두 가지 방법에 대해 자세히 설명하겠습니다.

1. `at` 명령어 사용하기 `at` 명령어는 특정 시간에 명령을 실행하도록 예약할 수 있는 유틸리티입니다.

이 방법은 단발성 작업에 적합합니다.

1.1 `at` 설치 확인 기본적으로 `at` 패키지가 설치되어 있어야 합니다.

설치 여부를 확인하려면 다음 명령어를 입력합니다: ```bash which at ``` 설치되어 있지 않다면, 다음 명령어로 설치할 수 있습니다: ```bash sudo apt update sudo apt install at ``` 1.2 `at` 서비스 시작 `at` 서비스가 활성화되어 있는지 확인하고, 필요하다면 시작합니다: ```bash sudo systemctl start atd sudo systemctl enable atd ``` 1.3 재부팅 예약하기 재부팅을 예약하려면 `at` 명령어를 사용하여 원하는 시간에 `reboot` 명령을 실행하도록 설정합니다.

예를 들어, 1시간 후에 재부팅을 예약하려면 다음과 같이 입력합니다: ```bash echo "sudo reboot" | at now + 1 hour ``` 또는 특정 시간에 예약할 수도 있습니다.

예를 들어, 오후 3시에 재부팅을 예약하려면: ```bash echo "sudo reboot" | at 15:00 ``` 예약된 작업을 확인하려면 다음 명령어를 사용합니다: ```bash atq ``` 예약된 작업을 취소하려면 `atrm` 명령어를 사용합니다: ```bash atrm ```

2. `cron` 사용하기 `cron`은 주기적으로 작업을 실행할 수 있는 유틸리티입니다.

특정 시간에 재부팅을 예약하려면 `cron`을 사용할 수 있습니다.



2.1 `cron` 설치 확인 대부분의 데비안 시스템에는 기본적으로 `cron`이 설치되어 있습니다.

설치 여부를 확인하려면 다음 명령어를 입력합니다: ```bash which crontab ``` 설치되어 있지 않다면, 다음 명령어로 설치할 수 있습니다: ```bash sudo apt update sudo apt install cron ```

2.2 `cron` 서비스 시작 `cron` 서비스가 활성화되어 있는지 확인하고, 필요하다면 시작합니다: ```bash sudo systemctl start cron sudo systemctl enable cron ```

2.3 재부팅 예약하기 `cron`을 사용하여 재부팅을 예약하려면 `crontab` 파일을 편집합니다: ```bash crontab -e ``` 이제 원하는 시간에 재부팅 명령을 추가합니다.

예를 들어, 매일 오후 3시에 재부팅하려면 다음과 같이 입력합니다: ```bash 0 15 * * * /sbin/shutdown -r now ``` 이 설정은 매일 오후 3시에 시스템을 재부팅합니다.

`crontab` 파일을 저장하고 종료하면 설정이 완료됩니다.



3. 주의사항 - 재부팅을 예약할 때는 시스템에서 실행 중인 작업이나 서비스에 영향을 미칠 수 있으므로, 사용자와 서비스에 미치는 영향을 고려해야 합니다.

- `sudo` 권한이 필요한 명령어를 사용할 경우, `at`나 `cron`에서 실행할 때는 해당 명령어가 `sudo` 없이 실행될 수 있도록 설정해야 합니다.

이를 위해 `/etc/sudoers` 파일을 수정하여 특정 사용자에게 `reboot` 명령을 비밀번호 없이 실행할 수 있는 권한을 부여할 수 있습니다.

결론 데비안에서 시스템 재부팅을 예약하는 방법은 `at`와 `cron` 두 가지가 있으며, 각각의 방법은 사용자의 필요에 따라 선택할 수 있습니다.

`at`는 단발성 작업에 적합하고, `cron`은 주기적인 작업에 적합합니다.

각 방법을 적절히 활용하여 시스템 관리에 유용하게 사용할 수 있습니다.

작성자: 박채연 [비회원] | 작성일자: 1년 전 2024-09-30 08:50:54
조회수: 133 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.