毎日午前11時45分にDebianホストを目覚めさせる方法が必要です。
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 disable"が動作しないようです。
答え1
私の考えでは、rtcwake
正確なタイミングが実際に使用されているようです。明らかに表示される時間は、設定した時間(現地時間帯)ではなくRTC時間です。したがって、rtcwake
RTCクロックをUTC(有効-u
または-a
デフォルト)に設定すると、UTCに基づいています。rtcwake
RTCが時計が現地時間(with)に設定されていると言うと、現地時間になります-l
。