gpt4 book ai didi

php - 为什么那些 crontab 规则不起作用?

转载 作者:太空宇宙 更新时间:2023-11-04 12:03:11 26 4
gpt4 key购买 nike

我正在尝试使用 crontab 在每个月的最后一天生成一些报告。

这是我的规则:

45 20 31 1,3,5,7,8,10,12 * php console make:export > /dev/null 2>&1
45 20 30 4,6,9,11 * php console make:export > /dev/null 2>&1
45 20 28 2 * php console make:export > /dev/null 2>&1
*/2 * * * * php ..cronjobs/cron_photos_tri.php >/dev/null 2>&1

但是,虽然同一个文件中的其他每一行都工作正常,但它们永远不会被触发。这是 07/2018 最后一天的系统日志:

Jul 31 20:40:01 CRON[19453]: (root) CMD (php ...cronjobs/cron_photos_tri.php >/dev/null 2>&1)
Jul 31 20:42:01 CRON[19880]: (root) CMD (php ...cronjobs/cron_photos_tri.php >/dev/null 2>&1)
Jul 31 20:44:01 CRON[20248]: (root) CMD (php ...cronjobs/cron_photos_tri.php >/dev/null 2>&1)
Jul 31 20:46:01 CRON[20599]: (root) CMD (php ...cronjobs/cron_photos_tri.php >/dev/null 2>&1)

如您所见,cron_photos_tri.php 被触发但 make:export 没有被触发。为什么?

最佳答案

这是在 crontab 中让命令在每个月末的(晚上 11:59)运行所需的:

  59 23 28-31 * * root [ $(date +\%d -d tomorrow) = 01 ] && executioncode

如何在今天(2018-08-01 23:59 pm)进行测试

  59 22 01-03 * * root [ $(date +\%d -d tomorrow) = 02 ] && executioncode

代码将在 2018-08-01 10:59 pm 执行

解释 CRON:

root [ $(date +\%d -d tomorrow) = 01 ] 表示如果明天等于 1 并且当前日期在 28 到 31 之间,则意味着最后一天每月的第几天

关于php - 为什么那些 crontab 规则不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51631993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com