根crontab未运行


10

由于某种原因,我的根crontab似乎没有运行。

试图在每晚午夜重新启动设备。

作为root用户应为以下内容:

crontab -e

然后加:

0 0 * * * /sbin/shutdown -r now

当我使用一些接近当前时间的值进行测试时,没有任何反应。我安装了NTP,并确保时区正确。我还指定使用24小时制。例如,要立即测试此行(下午5:35),请尝试输入以下内容:

36 17 * * * /sbin/shutdown -r now

我已经用日期-R检查了时间。crontab的运行时间一去不复返,并且系统不会重新启动。我在这里想念什么?


只是为了确保您在编辑crontab之后就将其关闭,对吗?另外,您是如何“以root身份运行”的?输出是sudo crontab -l | grep -v '#'什么?
terdon 2014年

为什么标记为debian?如果这是关于Debian而非Ubuntu的,请在Unix&Linux上询问。
muru

我相信debian是Ubuntu的核心。
Atomiklan 2014年

Answers:


11

我为您提供三个解决方案建议。

  1. 使用以下命令调用crontab crontab -e -u root

  2. 确保在cronjob文件的末尾有一个空行,这意味着每行以换行符结尾。

  3. 您可能需要将输出重定向到devnull: shutdown -r now > /dev/null

这是cronjobs的两个有用的网页:

CRON测试仪

CRON发电机

您还可以使用webmin巧妙地处理cronjobs 。

除此之外,您还有至少两种其他方法可以在午夜重新启动计算机。

一种是在登录时自动以脚本的形式运行shutdown命令,但以特定的时间作为参数,而不是“ now”:

shutdown -r 00:00

但是,这将在每次登录时产生即将关闭的广播消息(可能根本不是一件坏事)。好了,您也可以通过在init.d中添加脚本来使它在引导时运行,但是仍然会产生消息。

另一种是使用 at命令:

at 0am

输入命令 shutdown -r now并使用ctrl + d保存,或为该命令编写脚本并执行以下操作:

at -f restart_script.sh 0am

希望这些可以帮助您获得想要的结果。


解决的办法是输出到dev null。我想知道为什么?
Atomiklan 2014年

这是因为cron作业具有其自己的环境,该环境没有您期望的标准输入/输出系统,并且该过程失败,因为它试图将消息流式传输到缺少的输出管道中。与以任何用户身份在终端中运行某些命令相比,Cron作业实际上是完全不同的事情。很高兴得知您的产品毕竟能正常工作。
Ahti Komu 2014年

0

系统Cron作业列在/ etc / crontab文件中。因此,直接编辑此文件将帮助您以root身份运行reboot命令。

因此,

$ sudo vi /etc/crontab

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
  23 20 *  *  *  root  shutdown  -r  now

请确保您在编辑crontab之后检查了Cron日志文件,因为它会让您知道cron是否已成功安装。

我已经对其进行了测试,并且对我有用。晚上8:23重新启动系统

祝好运!


-3

36 17 * * *等..

36 17不能在cron中指定正确的时间。

通过date命令检查以查看系统是在美国时间还是在欧洲时间工作

如果使用欧洲时间,并且系统使用24小时制,则使用17 36;如果使用欧洲时间和12 H时间,则使用5 36。


不对!Cron不使用12小时制,并且格式始终为mm hh DD MM WD。
Ahti Komu 2014年

请下次阅读全文。
Atomiklan 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.