linux 系统定时执行任务
crontab命令,可以在固定的间隔时间执行指定的系统指令或者 shell 脚本- linux 会自动启动 Crontab 进程,后者每分钟检查一次配置,看是否有需要执行的任务
linux 系统的 Cron 表达式语法
表达式
- 没有具体到秒
分钟 小时 日期 月份 星期 [年份]
| 表达式 | 取值范围 |
|---|---|
| 分钟 | 0-59 |
| 小时 | 0-24 |
| 日期 | 1-31 |
| 月份 | 1-12 |
| 星期 | 0-6 |
符号
| 符号 | 描述 |
|---|---|
| * | 代表所有可能出现的值 |
| , | 定义枚举值 |
| - | 定义范围 |
| / | 定义频率(不是被除数) |
Crontab 任务分类
- linux 系统中任务调度分为系统调度和用户调度
- 系统调度
/etc/crontab - 用户调度
/var/spool/cron/crontab
- 系统调度
Crontab 用户调度命令
crontab -l # 打印用户任务列表 crontab -r # 删除用户任务列表 crontab -e # 编辑用户任务列表
java 的 Cron 表达式
java 的 Cron 表达式语法
表达式
- 比起 linux 的 Cron 表达式在首行多了个 秒 列
符号
- 日期列可以使用
L表示最后一天,W表示最近的工作日 - 星期列可以使用
L表示最后一周,#表示第几周
