我设置了一个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
就我个人而言,我从一个@hourly
cron作业启动@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。但它不会被运行每小时。