我正在尝试让每15分钟运行一个简单的crontab作业,并且无法确定如何格式化时序。
我一直在说的是以下内容:
15 * * * * ------------------------
我很确定这只是每小时的前15分钟。
我认为crontab允许用户指定要运行的确切时间,即:
0, 15,30,45 * * * * -------------------------
但是,如果我想从开始它的那一刻开始每15分钟运行一次crontab,(可能不一定是可以被15整除的值),我将如何格式化/那可能?
答案 0 :(得分:39)
Crontab不记得你“开始”的时间(可能是你执行crontab -e
或crontab filename
命令的时间)。
如果您想从任意时间开始每15分钟运行一次作业,则必须指定该时间。这样:
7-59/15 * * * * command
将在每小时后的7,22,37和52分钟运行。假设你正在运行Vixie cron,这是最常见的实现。为了更好的可移植性,您可以使用:
7,22,37,52 * * * * command
请记住,前5个字段中的任何一个都不能有空格;正如您在问题中所说的那样,0, 15,30,45
无效。
答案 1 :(得分:32)
你可以像这样格式化crontab,让它每15分钟运行一次。
*/15 * * * * [path/to/script]
答案 2 :(得分:0)
0,15,30,45
15分钟不正确。
更好和更简单的方法是*/15 * * * *
15分钟。
5 minutes
*/5 * * * *
15 minutes
*/15 * * * *
30 minutes
*/30 * * * *
60 minutes
0 * * * *
1 day
0 0 * * *