Cron表达式使用
计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到 cron 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的任务。
介绍
一个cron表达式是由6~7个域组成的,并且已空格分隔的字符串。cron原来是在unix中的工具之一。主要用于定时调度任务使用。cron核心使用就是cron表达式来处理任务调度。
域讲解
一个完整的cron表达式总共有7个域,从左到右表示秒、分、小时、月份中的日期、月份、星期中的日期 、年份
其中年份项为可选项,不一定要有,所以一般设置定时任务不会写年份,这样就是6位。
cron相关符号和使用
- ﹡:允许该域使用全部的值
- ?:只允许出现在第4个域(月份中的日期)和第6个域(星期中的日期),表示不考虑该域的取值,由于两个域中的数据可能存在冲突
- -:该符号标识范围
- ,:该符号表示一个域内并列的多个值
- /:该符号设置步长
- L:表示最后
- W:表示周1到周5,该符号只能出现在第4个域中并且只能与其他值组合使用
- #:该符号只能出现在第6个域中(星期中的日期),表示该月的第几天
在Linux中的使用
在linux中使用crontab命令进行操作cron,代码如下:
man crontab #查看crontab的帮助文档
查看设置的定时任务
crontab -l
可以使用man帮助文档进行学习crontab命令。
在spring中使用
在平时开发中,需要写定时任务,我们可以使用spring的@Scheduled注解,设置一个cron的值进行设置。
@Scheduled(cron="10 * * * * ?")
public void scheduledTask(){
/****do somethings***/
}