我有一些 cronjobs 在一天中的某些时间运行,但有时我的计算机会在预定运行时关闭。
有什么办法可以让这些程序在计算机重新打开后立即运行吗?
答案1
cron
并非设计用于实现这一目的,还有其他工具可以实现这一目的,例如anacron
。
一种解决方法是在中指定两次任务crontab
,一次是在您希望它发生的时间,另一次是@reboot
在系统启动时运行的时间。
如果您需要在此任务运行之前留出最少的时间,则可以使用包装脚本来实现。
答案2
如果您对第三方解决方案感兴趣,我编写了一个脚本,该脚本可让您在一段时间内(例如8:30pm-3am
每隔一段时间)运行脚本Saturday-Sunday
。因此,只要计算机再次打开,该脚本就会运行。我称之为:LazyCron
我尝试让它易于使用,这样你就可以使用自然语言输入,而不必费心使用 cron 格式。例如,你可以指定多个时间范围,如凌晨 1 点至 3 点、早上 5:30 至 7:30,或指定日期范围,如每月第二个星期四或星期六至星期日,它就可以正常工作。