rtcwake 未作为 root cron 作业执行

rtcwake 未作为 root cron 作业执行

手动启动的这项rtcwake工作工作正常:

$ sudo rtcwake -m no -u -t $(date +%s -d 'tomorrow 07:30')

但似乎没有作为rootcron 作业运行:

$ sudo crontab -l
32 7 * * * rtcwake -m no -u -t $(date +%s -d 'tomorrow 07:30')

如果我用以下命令记录命令

$ sudo crontab -l
32 7 * * * rtcwake -m no -u -t $(date +%s -d 'tomorrow 07:30') &> /home/me/path/to/dir/crond.log

我得到一个空的日志文件。而 的主人crond.log是我,而不是root。 (编辑1:事实并非如此,我在几次测试中犯了错误)

这里到底是什么问题?

编辑2:感谢 @αГsнιη 的回答,正确的 cronjob 如下(使用 创建sudo crontab -e):

$ sudo crontab -l
32 7 * * * /usr/sbin/rtcwake -m no -u -t $(date +\%s -d 'tomorrow 07:30') &> /home/me/path/to/dir/crond.log

答案1

关于你的 cronjob 的两件事:

  1. %应该被转义,\%因为这是 crontab 的特殊字符并且意味着换行符。

  2. 始终使用完整/绝对路径编写命令,因为 crontab 不会读取 shell 的PATH变量。

相关内容