是否可以使用 anacron 将一项作业设置为在精确的时间运行

是否可以使用 anacron 将一项作业设置为在精确的时间运行

我设置了一个anacron工作:

1@hourly 0 name wget https://mydomain.com/actions/controller  

所以它每小时运行一次,但我没有选择时间:
7:33 然后 8:33 然后 9:33 ...

是否可以将运行时间精确定义为:
7:00 然后 8:00 然后 9:00 ...

注意:我的托管提供商不允许我在cron和之间进行选择anacron,只能anacron在我的虚拟服务器上使用。

答案1

anacron 仅适用于每日、每周和每月,对于特定时间我建议使用 cron。

* * * * * *
| | | | | | 
| | | | | +-- Year              (range: 1900-3000)
| | | | +---- Day of the Week   (range: 1-7, 1 standing for Monday)
| | | +------ Month of the Year (range: 1-12)
| | +-------- Day of the Month  (range: 1-31)
| +---------- Hour              (range: 0-23)
+------------ Minute            (range: 0-59)

因此,如果您希望它在早上 7 点运行,您可以执行“0 7 * * * * 命令”,这将在每天早上 7 点运行,请记住该时间是军事时间。 0-23。

答案2

不,anacron不能用于安排作业在这样的确切时间运行。例如,它最适合用于确保维护脚本以大致频率(例如每天、每周或每月)运行。它的时间分辨率不低于一天。

anacron就我个人而言,我从一个@hourlycron作业启动@reboot(在我的 OpenBSD 机器上,它不是 24/7 运行),它会处理每日、每周和每月的任务(如果这些任务需要执行):

@hourly /usr/local/sbin/anacron -s
@reboot /usr/local/sbin/anacron -s

anacrontab

SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log

1       1       cron.daily      /bin/sh /etc/daily
7       3       cron.weekly     /bin/sh /etc/weekly
28      5       cron.monthly    /bin/sh /etc/monthly

某些版本anacron似乎可以理解@daily,,@weekly@monthly(我使用版本2.4.3,它的anacrontab手册确实不是提及那些占位符,但是这个做)。但是,我还没有找到任何anacron支持使用@hourly.

但是,如果您anacron像我一样每小时运行一次,并且其中一个作业需要执行,那么该作业将运行整点,即大约在 08:00 而不是 08:33。但它不会被运行每小时

相关内容