如何让rtcwake使用正确的时间来唤醒?

Gul*_*har 4 debian suspend

我需要一种方法来每天上午 11:45 唤醒 Debian 主机。

\n\n

看起来 rtcwake 是一个很好的工具,但我无法让它使用正确的时间。

\n\n

硬件时钟设置为UTC,我位于UTC+2:

\n\n
# timedatectl\n      Local time: Tue 2017-03-28 01:19:45 CEST\n  Universal time: Mon 2017-03-27 23:19:45 UTC\n        RTC time: Mon 2017-03-27 23:19:46\n       Time zone: Europe/Paris (CEST, +0200)\n     NTP enabled: no\nNTP synchronized: no\n RTC in local TZ: no\n      DST active: yes\n Last DST change: DST began at\n                  Sun 2017-03-26 01:59:59 CET\n                  Sun 2017-03-26 03:00:00 CEST\n Next DST change: DST ends (the clock jumps one hour backwards) at\n                  Sun 2017-10-29 02:59:59 CEST\n                  Sun 2017-10-29 02:00:00 CET\n
Run Code Online (Sandbox Code Playgroud)\n\n

我什么也没尝试/l/u,但无济于事:

\n\n
# rtcwake -m no -t `date +%s -d"2017-03-28 11:45"`\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xe2\x86\x92 09:44:59

\n\n
# rtcwake -m no -l -t $(date +\\%s -d \'2017-03-28 11:45\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xe2\x86\x92 13:44:59

\n\n
# rtcwake -m no -u -t $(date +\\%s -d \'2017-03-28 11:45\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xe2\x86\x92 9:45:00

\n\n

我还应该在系统中更新其他内容以使 rtcwake 使用正确的时间吗?

\n\n

谢谢。

\n\n

--\n编辑:\n这是 cat /proc/driver/rtc 的输出:

\n\n
rtc_time        : 00:08:06\nrtc_date        : 2017-03-28\nalrm_time       : 09:45:00\nalrm_date       : 2017-03-28\nalarm_IRQ       : no\nalrm_pending    : no\nupdate IRQ enabled      : no\nperiodic IRQ enabled    : no\nperiodic IRQ frequency  : 1024\nmax user IRQ frequency  : 64\n24hr            : yes\nperiodic_IRQ    : no\nupdate_IRQ      : no\nHPET_emulated   : yes\nBCD             : yes\nDST_enable      : no\nperiodic_freq   : 1024\nbatt_status     : okay\n
Run Code Online (Sandbox Code Playgroud)\n\n

顺便说一句,Google 没有帮助找到如何取消作业:“rtcwake -mdisable”似乎不起作用。

\n

xhi*_*nne 5

据我看来,rtcwake确实使用了正确的时间。显然,显示的时间是您的RTC时间,而不是您设置的时间(本地时区)。rtcwake因此,当您将RTC 时钟设置为 UTC(使用-u-a默认)时,它是基于 UTC 的。rtcwake当您告诉RTC 时钟设置为当地时间(带有)时,它就是当地时间-l