如何每5分钟、10分钟或15分钟运行一次Cron计划任务

发布时间 2023-09-22 18:11:00作者: lclc

一个cron job是一个在指定时间段执行的任务。这些任务可以按分钟、小时、月、日、周、日或这些的任何组合来安排运行。

Cron作业一般用于自动化系统维护或管理,例如备份数据库或数据、用最新的安全补丁更新系统、检查磁盘空间的使用情况、发送电子邮件等等。

每隔5分钟、10分钟或15分钟运行一次cron job是一些最常用的cron时间表。

Crontab的语法和操作符

Crontab(cron表)是一个定义cron作业时间表的文本文件。Crontab文件可以用crontab命令来创建、查看、修改和删除。

用户crontab文件中的每一行都包含六个字段,用空格隔开,后面是要运行的命令。

* * * * * command(s)
^ ^ ^ ^ ^
| | | | |     allowed values
| | | | |     -------
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
 

前五个字段(时间和日期)也接受以下运算符。

  • * - 星号运算符表示所有允许的值。如果你在分钟字段中有星号,意味着任务将每分钟执行。
  • - - 连字符运算符允许你指定一个值的范围。如果你在工作日字段中设置1-5,任务将在每个工作日运行(从周一到周五)。这个范围是包容性的,这意味着第一个和最后一个值都包括在这个范围内。
  • , - 逗号运算符允许你定义一个用于重复的数值列表。例如,如果你在小时字段中有1,3,5,任务将在凌晨1点、3点和5点运行。列表可以包含单个值和范围,1-5,7,8,10-15
  • / - 斜杠运算符允许您指定可与范围结合使用的步长值。例如,如果你在 "分钟 "字段里有1-10/2,这意味着动作将在1-10范围内每两分钟执行一次,与指定1,3,5,7,9相同。你也可以使用星号运算符来代替数值范围。要指定一项工作每20分钟运行一次,你可以使用 "*/20"。

系统范围的 crontab 文件的语法与用户crontabs略有不同。它包含一个额外的强制性用户字段,指定哪个用户将运行cron job。

* * * * * <username> command(s)
 

要编辑crontab文件,或者在它不存在的情况下创建一个文件,请使用crontab -e命令。

每5分钟运行一个Cron作业

有两种方法可以每5分钟运行一个cron job。

第一个选项是使用逗号运算符,创建一个分钟列表。

0,5,10,15,20,25,30,35,40,45,50,55  * * * * command
 

上面这句话在语法上是正确的,它可以正常工作。然而,键入整个列表会很乏味,而且容易出错。

指定每 5 分钟运行一次作业的第二个选项是使用 step 运算符:

*/5  * * * * command
 

*/5意味着创建一个所有分钟的列表,并为列表中的每五个值运行作业。

每隔10分钟运行一次Cron作业

要想每10分钟运行一个cron job,请在你的crontab文件中添加以下一行。

*/10  * * * * command
 

每隔15分钟运行一次Cron作业

要想每15分钟运行一个cron job,请在你的crontab文件中添加以下一行。

*/15  * * * * command
 

总结

我们已经向你展示了如何每隔5分钟、10分钟或15分钟运行一个cron命令。

如果您有任何问题,请随时留言咨询。