1. 表达式各时间元素详解
秒 | 分钟 | 小时 | 天 | 月 | 星期 | 年份 |
---|
0~59 | 0~59 | 0~23 | 0~29.30.31(考虑月份) | 0~11 | 1~7(1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT) | 1970~2099 |
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?.
2. 通用样例
cron | 释义 |
---|
0/60 * * * * ? | 每60秒执行一次 |
0 0/5 * * * ? | 每五分钟执行一次 |
0 15 10 ? * * | 每天上午10:15触发 |
0 0 10,14,16 * * ? | 每天上午10点,下午2点,4点执行 |
0 0/30 9-17 * * ? | 朝九晚五工作时间内每半小时 |
0 0 12 ? * WED | 表示每个星期三中午12点 |
0 15 10 * * ? 2005 | 2005年的每天上午10:15触发 |
0 * 14 * * ? | 在每天下午2点到下午2:59期间的每1分钟触发 |
0 0/5 14 * * ? | 在每天下午2点到下午2:55期间的每5分钟触发 |
0 0-5 14 * * ? | 在每天下午2点到下午2:05期间的每1分钟触发 |
0 10,44 14 ? 3 WED | 每年三月的星期三的下午2:10和2:44触发 |
0 15 10 15 * ? | 每月15日上午10:15触发 |
0 15 10 L * ? | 每月最后一日的上午10:15触发 |
0 15 10 ? * 6L | 每月的最后一个星期五上午10:15触发 |
0 15 10 ? * 6#3 | 每月的第三个星期五上午10:15触发 |
3. 在线生成cron地址
在线生成cron
4. linux创建定时任务
crontab -e
0 15 10 ? * * 执行的脚本路径
:wq
5. spring-boot创建定时任务
@Configuration
@EnableScheduling
public class SchedulingConfig {
@Scheduled(cron = "0/30 * * * * ?")
public void scheduler() {
System.out.println(“开始执行啦....”);
}
}