调整 crontab 作业时间



我有一个 crontab 作业,我正在尝试设置:我现在通过阅读文档和网络得到了这个。

30 12 * * * reboot 
40 12 * * * python /home/dev/workspace/Testing/__init__.py 
50 12 * * * poweroff

有没有办法随机更改执行时间,使其在中午 12:00 至下午 1:00 之间随机运行?

我也可以将断电与成功完成的 python 脚本绑定吗?

以为我应该澄清我想让我的计算机关闭并让它自动启动运行 python 脚本,然后自行关闭。

谢谢

你为什么要从 Crontab 运行这个?如果b应该在a后运行,cb之后运行,那么只需使用a; b; c按顺序运行它们,无论它们中的任何一个需要多长时间。

从 Cron 重新启动对我来说并不理智,无论它打算解决什么问题,但如果你真的想这样做,你可以安排重新启动,然后在主机恢复时有一个@reboot cron 作业。(如果主机也可以在其他时间重新引导,您可以添加一个简单的检查来中止。

所以;

30 12 * * * reboot
@reboot my-reboot-script

my-reboot-script可能是这样的

#!/bin/bash
case $(date +%H) in 12) ;; *) exit 0;; esac
sleep $[ $RANDOM % 3600 ]   # bash only
python /home/dev/workspace/Testing/__init__.py
shutdown -P +5

我将poweroff命令更改为shutdown -P +5,以便在实际关闭之前为任何登录用户提供 5 分钟的宽限期。 我不了解你,但我当然讨厌有一台可以在我使用它时在没有警告的情况下关闭电源的计算机。

最新更新