调度器的基本概念与 5 字段结构
Cron 是在 Unix·Linux 系列系统中,按照设定的时间自动执行命令或脚本的基于时间的任务调度器。它用于将备份、日志清理、数据同步等需要周期性重复的任务预约好,从而无需每次都由人手动执行。
要执行的任务列表写在一张叫做 crontab(cron table)的表里,一行一条。每一行由表示何时执行的调度表达式和表示执行什么的命令组成。标准的调度表达式是以空格分隔的5 个字段:分(0-59)· 时(0-23)· 日(1-31)· 月(1-12)· 星期(0-6,0=星期日)。
例如 30 9 * * 1-5 表示「分=30,时=9,日=全部,月=全部,星期=周一至周五」,因此会在工作日上午 9 点 30 分执行。* 表示「该字段的所有值」,而像 */5 这样写则可以指定「每 5」的间隔。
cron 守护进程每分钟都会检查所有已注册的表达式,执行与当前时间匹配的任务。因此用 cron 能实现的最小周期是 1 分钟。如果需要更短的周期,就得在脚本内部循环或采用其他方式。
表达式一旦变复杂,用肉眼阅读就很困难。将表达式粘贴到上方的工具中,它会解读为人类可读的语句并预览下次执行时间,让您立即确认是否符合想要的调度。