我尝试每周凌晨 2 点关闭我的电脑一次。
如果我使用 root 用户 crontab (sudo crontab -e)
30 2 * * 3 shutdown -h now
将不会执行关机操作。
但是,如果我在系统范围的 crontab(sudo vim /etc/crontab)中为 root 放置相同的命令,电脑就会关闭:
30 2 * * 3 root shutdown -h now
有什么区别?两次 root 都会关闭我的电脑。为什么它只有在系统范围的 crontab 中才有效?
答案1
理论上两种方法都可以。我想你会发现区别在于 PATH。你的版本可能不同,但在我的 /etc/crontab 中,顶部有一个 PATH 行,其中包含 /sbin(我的关机位于 /sbin 中)。
我想您会发现,当为 root 用户执行 CRON 时,它没有与之关联的路径,因此它不起作用。将命令更改为
30 2 * * 3 root /sbin/shutdown -h 现在
我想这会解决你的问题。