rtcwake cron 不起作用

man*_*and 1 acpi cron suspend wakeup

我打算每天晚上让我的电脑进入睡眠状态,并让它在第二天早上再次醒来。我发现 rtcwake 可以满足我的目的。然而,将其放入 crontab 中却没有任何作用。以下是我的“root”用户的 crontab 条目

0 1 * * * rtcwake -m disk -s 25200
Run Code Online (Sandbox Code Playgroud)

我使用“sudo crontab -e”添加它。系统日志显示它执行了该命令,但计算机没有睡眠。如果我直接在终端上运行命令,计算机将按预期立即进入睡眠状态。所以我认为ACPI没有任何问题。

有人有线索吗?我使用的是 Ubuntu 14.04

eir*_*-ff 6

我知道这已经晚了两年,但我也遇到了同样的问题,并且希望将我的解决方案提供给将来可能遇到此问题的任何人。

为了每天 06:00 唤醒我的机器,我使用rtcwake. 然而,我的问题是,即使 cronjob 运行了,它也没有设置警报。我确实用 编辑了 root 用户crontabsudo crontab -e

解决方案是在 crontab 中使用完整路径rtcwake,而不仅仅是命令。为此,首先使用which rtcwake它将返回命令的完整路径(在我的例子中是/usr/sbin/rtcwake)并在 cronjob 中使用它。

我的 cronjob 现在看起来像这样: 0 12 * * * /usr/sbin/rtcwake -m no -t $(date +\%s -d 'tomorrow 0600')

 

附带说明一下,如果您date像我一样使用,则必须转义百分号。