Cron作业是按指定间隔执行的任务。可以将任务安排为按分钟,小时,某月的某天,某月,某周的某天或它们的任意组合。
Cron作业通常用于自动化系统维护或管理,例如备份数据库或数据,使用最新的安全补丁更新系统,检查磁盘空间使用情况, 发送电子邮件,等等。
每5、10或15分钟执行一次cron作业是一些最常用的cron时间表。在本教程中,我们将说明Crontab语法和特殊符号的意义,并且举例说明如何每5、10或15分钟运行一次cron作业。
以及crontab文件字段说明。也提及系统级别crontab文件于普通用户crontab文件差别。
Crontab全称cron table,是一个文本文件,用于定义cron作业的计划。可以使用crontab
命令创建,查看,修改和删除cron作业。
用户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作业的用户。
* * * * * command(s)
要编辑crontab文件,或者创建crontab文件(如果不存在),请使用crontab -e
命令。
每5分钟执行一次Cron作业
每五分钟执行命令的方式有两种。第一种选择是使用逗号运算符创建分钟列表:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * command
上面的语法是正确的,并且可以正常工作。 但是,键入整个列表可能很乏味并且容易出错。指定每5分钟运行一次作业的第二种方式是使用*
运算符:
*/5 * * * * command
每10分钟执行一次Cron作业
要每10分钟运行一次cron作业,请在crontab文件中添加以下行:
*/10 * * * * command
每15分钟执行一次Cron工作
要每15分钟执行一次cron作业,请在crontab文件中添加以下行:
*/15 * * * * command
结论
我们向您展示了如何每5、10或15分钟运行一次cron命令。如有任何疑问,请随时发表评论。