如何配置一个 cron 作业在每晚 2:30 运行?我知道如何让它在 2 点运行,但不知道如何让它在 2:30 运行。
crontab -e
添加:
30 2 * * * /your/command
编辑:
crontab -e
添加此命令行:
30 2 * * * /your/command
最小小时 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.
使用最新数据重新启动 cron:
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 未运行还有其他问题,您可以检查 调试 crontab 或 为什么 crontab 不执行我的 PHP 脚本?.
编写 cron 的一个简单方法是使用在线 cron 生成器 它将为您生成该行。需要注意的一件事是,如果您希望每天(不仅仅是工作日)运行它,您需要突出显示所有日子。
作为上述所有精彩答案的补充,请查看 https://crontab.guru/ - 用于检查 crontab 语法的有用在线资源。
您得到的是您所指定内容的人类可读表示。
请参阅以下示例:
30 2 * * * wget https://www.yoursite.com/your_function_name
第一部分用于设置 cron 作业,下一部分用于调用您的函数。
0 30 2 * * *
0 - 一分钟的第一秒
30 - 每小时第 30 分钟
2 - 一天中的第 2 个小时
(*) - 每天
(*) - 每个月
(*) - 一周中的每一天
但是秒是可选的
使用此网站作为参考:http://www.cronmaker.com/