crontab是按指定的时间间隔执行的任务。任务可以按分钟、小时、月中的某一天、月中的某一天、周中的某一天或这些时间的任意组合安排运行。

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

Crontab语法和操作符

Crontab (cron表)是一个文本文件,它定义了cronjob的时间表。可以使用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)
*: 星号操作符表示所有允许的值。如果在分钟字段中有星号,则表示任务将每分钟执行一次。
-: 连字符操作符允许您指定一个值范围。如果您在Day of the week字段中设置了1-5,任务将在每个工作日(从周一到周五)运行。范围是包含的,这意味着第一个值和最后一个值都包含在范围中。
,: 逗号操作符允许您定义一个用于重复的值列表。例如,如果Hour字段中有1,3,5,任务将在1 am、3 am和5 am运行。列表可以包含单个值和范围,1-5、7、8、10-15
/: 斜杠操作符允许您指定可以与范围一起使用的步骤值。例如,如果分钟字段中有1-10/2,这意味着在范围1-10中每两分钟执行一次操作,与指定1、3、5、7、9相同。您也可以使用星号操作符,而不是一组值。要指定每20分钟运行一次的作业,可以使用" */20 "。

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

* * * * * <username> command(s)
要编辑crontab文件,或者创建一个(如果它不存在的话),可以使用crontab -e命令。
每5分钟运行一次Cronjob
0,5,10,15,20,25,30,35,40,45,50,55  * * * * command

简单配置

*/5  * * * * command
每10分钟运行一次Cronjob
*/10  * * * * command
每15分钟执行一次Cronjob
*/15  * * * * command
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐