매일 오전 11시 45분에 데비안 호스트를 깨울 수 있는 방법이 필요합니다.
rtcwake는 훌륭한 도구인 것 같지만 정확한 시간을 사용하도록 할 수는 없습니다.
하드웨어 시계는 UTC로 설정되어 있으며 현재 UTC+2입니다.
# timedatectl
Local time: Tue 2017-03-28 01:19:45 CEST
Universal time: Mon 2017-03-27 23:19:45 UTC
RTC time: Mon 2017-03-27 23:19:46
Time zone: Europe/Paris (CEST, +0200)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2017-03-26 01:59:59 CET
Sun 2017-03-26 03:00:00 CEST
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2017-10-29 02:59:59 CEST
Sun 2017-10-29 02:00:00 CET
나는 /l/u로 아무것도 시도하지 않았지만 아무 소용이 없었습니다.
# rtcwake -m no -t `date +%s -d"2017-03-28 11:45"`
→ 09:44:59
# rtcwake -m no -l -t $(date +\%s -d '2017-03-28 11:45')
→ 13:44:59
# rtcwake -m no -u -t $(date +\%s -d '2017-03-28 11:45')
→ 9:45:00
rtcwake가 올바른 시간을 사용하도록 하려면 시스템에서 업데이트해야 할 다른 것이 있습니까?
감사해요.
-- 편집: 이것은 cat /proc/driver/rtc의 출력입니다:
rtc_time : 00:08:06
rtc_date : 2017-03-28
alrm_time : 09:45:00
alrm_date : 2017-03-28
alarm_IRQ : no
alrm_pending : no
update IRQ enabled : no
periodic IRQ enabled : no
periodic IRQ frequency : 1024
max user IRQ frequency : 64
24hr : yes
periodic_IRQ : no
update_IRQ : no
HPET_emulated : yes
BCD : yes
DST_enable : no
periodic_freq : 1024
batt_status : okay
그런데 인터넷 검색은 작업을 취소하는 방법을 찾는 데 도움이 되지 않았습니다. "rtcwake -m 비활성화"가 작동하지 않는 것 같습니다.
답변1
제 생각에는 rtcwake
정확한 타이밍이 실제로 사용된 것 같습니다. 분명히 표시된 시간은 설정한 시간(현지 시간대)이 아니라 RTC 시간입니다. 따라서 rtcwake
RTC 시계를 UTC(사용 -u
또는 -a
기본값)로 설정하면 UTC를 기준으로 합니다. rtcwake
RTC에 시계가 현지 시간(with)으로 설정되어 있다고 말하면 현지 시간이 됩니다 -l
.