web-dev-qa-db-ja.com

rtcwakeに適切なタイミングで起動する方法

毎日午前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

ところで、Googleはジョブをキャンセルする方法を見つけるのを手伝いませんでした:「rtcwake -m disable」は機能していないようです。

4
Gulbahar

私が見たところ、rtcwakeは適切な時間を使用しています。表示される時間は、RTCの時間であり、設定した時間(ローカルタイムゾーン)ではありません。したがって、rtcwakeにRTCクロックがUTCに設定されている(-uまたは-aがデフォルト)と伝えると、UTCベースになります。 rtcwakeに伝えるのは現地時間ですRTCクロックは現地時間に設定されます(-lを使用)。

4
xhienne