crontab与cron语法规则

11/17/2020 Java

# crontab语法规则

# 一、项目语法规则

crontab表达式是基于cron表达式组成的cron表,主要用途为Linux系统下shell脚本实现定时任务。

  1. 位数(共有六位)
代表意义 分钟 小时 日期 月份 命令
数值范围 0-59 0-23 1-31 1-12 0-7 要执行的命令
  1. 符号
特殊字符 代表意义
* 每时每刻
, 或者
- 时间段
/n 每隔n个单位进行一次

# 二、例子

  • 每分钟执行一次规则

    • 每一分钟执行: */1 * * * * command
  • 每天8到12点之间20分时执行一次任务

  • 20 8-12 * * * command

  • 每月10号及20号的3:30执行一次命令

    • 30 3 10,30 * * command
  • 每隔10天6:30执行一次命令

    • 30 6 */10 * * command

# 三、使用

查看有哪些在运行的crontab命令 crontab -l
编辑crontab任务 crontab -e
例如55 23 * * * /home/yuwei/startBash.sh
注意:要给被执行文件执行权限chmod +x startBash.sh

# 四、串行执行脚本操作

0 12 * * * /path/to/script1.sh && /path/to/script2.sh
执行第一个脚本后再执行第二个脚本,可以使用 && 运算符将两个脚本命令串联起来。这样设置后,只有当第一个脚本成功执行并退出时,才会执行第二个脚本。如果第一个脚本执行失败或者没有退出,第二个脚本将不会执行。&&前后需要有空格

# Cron表达式

与CronTab表达式不同,Cron表达式主要应用与SpringBoot定时任务的设置上,一共有七位。少了command位,增加了秒,年位,其余用法与Cron表达式一致。
注意: SpringBoot 只能解析六位Cron表达式,无法完成年的定时任务,因此解析cron表达式的时候可以先判断是否可以解析。

分钟 小时 日期 月份
0-59 0-59 0-23 1-31 1-12 0-7 年份
更新时间: 11/6/2023, 10:58:45 AM
А зори здесь тихие-тихие
Lube