为什么 'reboot' 操作对 crontab 不起作用?

Why 'reboot' operation does not work with crontab?

我正在使用 ubuntu 18.04.

我想每天重启我的服务器。

这是我的 root 的 crontab 文件,这是我可以通过 'sudo crontab -e' 操作看到的

0 0 * * * rm /var/log/*log.*
0 0 * * * rm /var/log/rinetd.log
1 0 * * * reboot now

我确认其余命令都可以正常工作,但只有'reboot'命令不起作用,我不知道原因。 我检查了 'reboot now' 操作在 bash shell.

中运行良好
obiwan@myserver ~ sudo reboot now
Connection to 10.10.10.122 closed by remote host.
Connection to 10.10.10.122 closed.

我搜索的时候只发现关于crontab中的'@reboot'选项不起作用的问题,所以我写下这个问题。

一直以来,非常感谢。

所以我最近也开始遇到这个问题。

我一直在做一些挖掘,到目前为止我发现了以下内容:

  • 在 SU crontab 中放置 'reboot' 没有任何作用,但放置 '/sbin/reboot' 会成功重启系统
  • 这对于用户 crontab 来说是不正确的,'reboot' 和“/sbin/reboot”函数都没有。

所以这是一个临时修复程序,可以让您的系统暂时正常工作,但我会继续挖掘。

编辑: 这里还有更多的事情发生,它似乎不仅仅是与 su 相关的问题。我将我的密码明文传递给 'sudo systemctl reboot' 但它没有触发。