我需要一种方法来每天上午 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\nrtc_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据我看来,rtcwake
确实使用了正确的时间。显然,显示的时间是您的RTC时间,而不是您设置的时间(本地时区)。rtcwake
因此,当您将RTC 时钟设置为 UTC(使用-u
或-a
默认)时,它是基于 UTC 的。rtcwake
当您告诉RTC 时钟设置为当地时间(带有)时,它就是当地时间-l
。
归档时间: |
|
查看次数: |
6441 次 |
最近记录: |