如何配置一个cron作业每晚2:30运行?我知道如何让它在2点运行,但不是2点30分。
crontab -e
加:
30 2 * * * /your/command
crontab -e
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.
service crond restart
如其他答案所示,使用的语法是:
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表达式也很有用。
使用crontab
将表达式添加到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没有运行的进一步问题,你可以检查Debugging crontab或Why is crontab not executing my PHP script?。
编写cron的简单方法是使用在线cron generator它将为您生成行。需要注意的一点是,如果您希望每天运行它(不仅仅是工作日),您需要突出显示所有日期。
30 2 * * * wget https://www.yoursite.com/your_function_name
第一部分用于设置cron作业,下一部分用于调用你的函数。
作为上述所有优秀答案的补充,请查看https://crontab.guru/ - 一个用于检查crontab语法的有用在线资源。
你得到的是你所指定内容的人类可读表示。
请参阅以下示例:
它一定要是 :
0 30 2 * * ?
第一个值表示秒,第二个值表示分钟,第三个值表示小时,第四个值表示日期,第五个值表示月份这是我一直用来通过Quartz运行我的cron作业