如何每5、10或者15分钟运行一次Cron作业

时间:2020-03-05 15:26:26  来源:igfitidea点击:

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”,则意味着将每两分钟在1-10范围内执行一次操作,与指定“ 1,3,5,7,9”相同。除了值的范围外,还可以使用星号运算符。要指定每20分钟运行一次的作业,可以使用“ */20”。

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

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

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

每5分钟执行一次Cron作业

每五分钟有两种运行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