目录
Cron的历史可以追溯到UNIX操作系统的早期。Cron(来自希腊语"chronos",意为时间)是一种用于在预定时间执行计划任务的实用程序。
起源: Cron最早出现在1970年代早期的UNIX系统中。它的目的是为了在多用户的UNIX环境中,通过预定任务的执行时间来减轻系统资源的压力。
基本原理: Cron使用简单的文本文件(通常称为crontab文件)来存储和管理任务的调度信息。每个用户都有自己的crontab文件,其中包含他们的定时任务。
语法演变: Cron表达式的语法在演变过程中有所修改,但基本原理一直保持不变。最初的版本可能较为简单,但后来的变化使得Cron表达式更加灵活和强大。
标准化: 随着时间的推移,Cron的标准化得到了改进,以确保在不同的UNIX系统和类UNIX系统上的一致性。这有助于使Cron在各种环境中更易于使用和维护。
广泛应用: 由于其简单性和高度可定制性,Cron在UNIX、Linux等操作系统以及其他类UNIX系统中广泛应用。同时,许多其他系统和工具也采用了Cron的概念,提供类似的定时任务调度功能。
Cron 表达式的语法包括五个时间字段,用空格分隔。这五个字段分别表示分钟、小时、天、月、星期。每个字段都可以包含单个数字、一系列数字、通配符 * 或者通过逗号 , 分隔的数字列表。以下是 Cron 表达式的基本语法
* * * * *
| | | | |
| | | | +-- 星期几 (0 - 7) (星期天可以用0或7表示)
| | | +---- 月份 (1 - 12)
| | +------ 天 (1 - 31)
| +-------- 小时 (0 - 23)
+---------- 分钟 (0 - 59)
通配符 * 表示每次都匹配
每分钟触发一次:
* * * * *
每小时的30分钟触发一次:
30 * * * *
每天的午夜触发一次:
0 0 * * *
每周的星期一的午夜(0点0分)触发一次:
0 0 * * 1
每月的第1天的午夜(0点0分)触发一次:
0 0 1 * *
每隔2小时触发一次:
0 */2 * * *
?