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