350

如何将 cron 作业配置为每晚 2:30 运行?我知道如何让它在 2 点运行,但不是 2:30。

4

6 回答 6

580
crontab -e

添加:

30 2 * * * /your/command
于 2013-02-05T14:51:36.160 回答
174
  1. 编辑:

    crontab -e
    
  2. 添加这个命令行:

    30 2 * * * /your/command
    
    • crontab 格式:

      MIN HOUR DOM MON DOW CMD

    • 格式含义和允许值:
    • MIN Minute field 0 to 59
    • HOUR Hour field 0 to 23
    • DOM Day of Month 1-31
    • MON Month field 1-12
    • DOW Day Of Week 0-6
    • CMD Command Any command to be executed.
  3. 使用最新数据重新启动 cron:

    service crond restart
    
于 2016-02-21T08:17:26.327 回答
76

如其他答案所示,使用的语法是:

  30 2 * * * /your/command
# ^  ^
# |   hour
# minute

遵循 crontab 标准格式:

 +---------------- minute (0 - 59)
 |  +------------- hour (0 - 23)
 |  |  +---------- day of month (1 - 31)
 |  |  |  +------- month (1 - 12)
 |  |  |  |  +---- day of week (0 - 6) (Sunday=0 or 7)
 |  |  |  |  |
 *  *  *  *  *  command to be executed

使用crontab.guru检查 crontab 表达式也很有用。

表达式被添加到crontabusing 中crontab -e。完成后,保存并退出(如果您使用的是vi,则键入即可:x)。使用此工具的好处是,如果您编写了无效命令,您可能会在表单上收到消息提示:

$ crontab -e
crontab: installing new crontab
"/tmp/crontab.tNt1NL/crontab":7: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n) 

如果您对 crontab 没有运行还有其他问题,您可以检查调试 crontab为什么 crontab 没有执行我的 PHP 脚本?.

于 2016-08-12T09:56:49.780 回答
7

编写 cron 的一种简单方法是使用在线 cron生成器 ,它将为您生成行。需要注意的一件事是,如果您希望每天(不仅仅是工作日)运行它,您需要突出显示所有的日子。

于 2016-04-01T01:54:55.350 回答
2

作为上述所有出色答案的补充,请查看https://crontab.guru/ - 一个有用的在线资源,用于检查您的 crontab 语法。

你得到的是你所指定的人类可读的表示。

请参阅以下示例:

于 2018-10-01T13:42:20.760 回答
1

30 2 * * * wget https://www.yoursite.com/your_function_name

第一部分用于设置 cron 作业,下一部分用于调用您的函数。

于 2018-02-06T13:45:42.790 回答