如何让Cron任务每小时的第8、18、28…分钟执行?
解决Cron每小时特定分钟执行的问题
你的需求完全可以实现,之前的表达式报错是因为标准Vixie Cron(多数Linux系统默认的Cron实现)不支持8/10这种仅指定起始值加步长的写法,它要求步长必须搭配明确的范围。
有两种可行的写法:
直接枚举所有目标分钟
把每小时需要执行的分钟全部列出来,用逗号分隔,兼容性最好,所有Cron实现都支持:8,18,28,38,48,58 * * * * /home/snrub/file.php使用范围加步长的语法
如果你的系统支持(比如部分现代Cron实现或systemd定时器),可以指定从8分钟到58分钟,每10分钟执行一次,正好覆盖需求的时间点:8-58/10 * * * * /home/snrub/file.php
如果是旧版本的Vixie Cron,第二种写法可能仍不生效,此时第一种枚举方式是最稳妥的选择。
内容的提问来源于stack exchange,提问作者MrSnrub
相关产品推荐
相关产品推荐

