出于某种原因,我的 root crontab 似乎没有运行。
尝试在每晚午夜重新启动设备。
作为 root 应该是以下内容:
crontab -e
Run Code Online (Sandbox Code Playgroud)
然后加:
0 0 * * * /sbin/shutdown -r now
Run Code Online (Sandbox Code Playgroud)
当我使用一些接近当前时间的值进行测试时,没有任何反应。我安装了 NTP 并确保时区正确。我还指定使用 24 小时制。例如,要立即测试此行(下午 5:35),我尝试输入以下内容:
36 17 * * * /sbin/shutdown -r now
Run Code Online (Sandbox Code Playgroud)
我已经用 date -R 检查了时间。crontab 运行的时间来了又去,系统不会重新启动。我在这里缺少什么?
Aht*_*omu 13
我为您提供三个解决方案建议。
调用 crontab crontab -e -u root
确保在 cronjob 文件的末尾有一个空行,这意味着每一行都以换行符结尾。
您可能需要将输出重定向到 devnull: shutdown -r now > /dev/null
这里有两个有用的 cronjobs 网页:
您还可以使用webmin巧妙地处理 cronjobs 。
除此之外,您至少还有两种方法可以在午夜重新启动计算机。
一种是在登录时自动将关闭命令作为脚本运行,但使用特定时间作为参数而不是“现在”:
shutdown -r 00:00
但是,这将在每次登录时产生即将关闭的广播消息(可能根本不是一件坏事)。好吧,您也可以通过在 init.d 中添加脚本来使其在启动时运行,但仍然会产生消息。
另一种是使用at命令:
at 0am
输入命令shutdown -r now并使用 ctrl+d 保存它或为命令编写脚本并执行:
at -f restart_script.sh 0am
希望这些能帮助你得到你想要的结果。
| 归档时间: |
|
| 查看次数: |
46294 次 |
| 最近记录: |