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
表示最后一周,#
表示第几周