Cron作业是按指定间隔执行的任务。 可以将任务安排为按分钟,小时,某月的某天,某月,某周的某天或它们的任意组合。

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

每5、10或15分钟执行一次cron作业是一些最常用的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,则表示将每2分钟在1-10范围内执行一次操作,与指定1,3,5,7,9相同。除了值的范围外,还可以使用星号运算符。要指定每20分钟运行一次的作业,可以使用 */20。

系统级crontab文件的语法与用户crontabs略有不同。 它包含一个附加的必填用户字段,用于指定将运行cron作业的用户。

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

要编辑crontab文件,或者创建crontab文件(如果不存在),请使用crontab -e命令。

每5分钟执行一次Cron作业

每五分钟有两种方法来执行计划任务。

第一种选择是使用逗号运算符创建分钟列表:

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

上面的行在语法上是正确的,并且可以正常工作。 但是,键入整个列表可能很乏味并且容易出错。

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

*/5  * * * * command

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

每10分钟执行一次Cron作业

要每10分钟运行一次cron作业,请在crontab文件中添加以下行:

*/10  * * * * command

每15分钟执行一次Cron工作

要每15分钟执行一次cron作业,请在crontab文件中添加以下行:

*/15  * * * * command

结论

我们向您展示了如何每5、10或15分钟运行一次cron命令。

如有任何疑问,请随时发表评论。