目录
秒 分 时 日 月 周 年份
- {秒数}{分钟} ==> 允许值范围: 0~59 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常
- “*” 代表每隔1秒钟触发;
- “,” 代表在指定的秒数触发,比如”0,15,45”代表0秒、15秒和45秒时触发任务
- “-“代表在指定的范围内触发,比如”25-45”代表从25秒开始触发到45秒结束触发,每隔1秒触发1次
- “/”代表触发步进(step),”/”前面的值代表初始值(““等同”0”),后面的值代表偏移量,比如”0/20”或者”/20”代表从0秒钟开始,每隔20秒钟触发1次,即0秒触发1次,20秒触发1次,40秒触发1次;”5/20”代表5秒触发1次,25秒触发1次,45秒触发1次;”10-45/20”代表在[10,45]内步进20秒命中的时间点触发,即10秒触发1次,30秒触发1次
- {小时} ==> 允许值范围: 0~23 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常,占位符和秒数一样
- {日期} ==> 允许值范围: 1~31 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常
- {星期} ==> 允许值范围: 1~7 (SUN-SAT),1代表星期天(一星期的第一天),以此类推,7代表星期六(一星期的最后一天),不允许为空值,若值不合法,调度器将抛出SchedulerException异常
- {年份} ==> 允许值范围: 1970~2099 ,允许为空,若值不合法,调度器将抛出SchedulerException异常
-
- 注意:除了{日期}和{星期}可以使用”?”来实现互斥,表达无意义的信息之外,其他占位符都要具有具体的时间含义,且依赖关系为:年->月->日期(星期)->小时->分钟->秒数
-
- L ==> 表示last,例如星期中表示7或SAT,月份中表示最后一天31或30,6L表示这个月倒数第6天,FRIL表示这个月的最后一个星期五
- W ==> 只能用在月份中,表示最接近指定天的工作日
- # ==> 只能用在星期中,表示这个月的第几个周几,例如6#3表示这个月的第3个周五
- 0 * * * * ? 每1分钟触发一次
- 30 * * * * ? 每半分钟触发任务
- 0 0 * * * ? 每天每1小时触发一次
- 30 25 * * * ? 每小时的25分30秒触发任务
- 0 0 10 * * ? 每天10点触发一次
- 25 30 2 * * ? 每天2点30分25秒执行一次
- 0 * 14 * * ? 在每天下午2点到下午2:59的每分钟触发
- 0 30 9 1 * ? 每月1号上午9点半
- 0 15 10 15 * ? 每月15日上午10:15触发
- */5 * * * * ? 每隔5秒执行一次
- 0 */1 * * * ? 每隔1分钟执行一次
- 0 0 5-15 * * ? 每天5-15点整点执行
- 0 0/3 * * * ? 从0分钟开始,每隔三分钟执行一次;即0,3,6,9......
- 0 0 0 1 * ? 每月1号0点0分0秒执行一次
- 30 10 1 8 8 ? 2024 2024年8月8号1点10分30秒触发任务
- 30 10 1 ? 8 * 2024 2024年8月每天1点10分30秒触发任务
- 30 10 1 ? 8 SUN 2024 2024年8月每周日1点10分30秒触发任务
- 15,30,45 * * * * ? 每15秒,30秒,45秒时触发任务
- 15-45 * * * * ? 15到45秒内,每秒都触发任务
- 15/5 * * * * ? 每分钟的每15秒开始触发,每隔5秒触发一次
- 15-30/5 * * * * ? 每分钟的15秒到30秒之间开始触发,每隔5秒触发一次
- 0 0/3 * * * ? 每小时的第0分0秒开始,每三分钟触发一次
- 0 15 10 ? * MON-FRI 星期一到星期五的10点15分0秒触发任务
- 0 15 10 L * ? 每个月最后一天的10点15分0秒触发任务
- 0 15 10 LW * ? 每个月最后一个工作日的10点15分0秒触发任务
- 0 15 10 ? * 5L 每个月最后一个星期四的10点15分0秒触发任务
- 0 15 10 ? * 3#6 每个月第六周的星期二的10点15分0秒触发任务
* * * * *
分 时 日 月 周
| 时间 | 含义 | 范围 |
| 分 | 一小时中的第几分钟 | (0~59) |
| 时 | 一天中的第几个小时 | (0~23) |
| 日 | 一个月中的第几天 | (1~31) |
| 月 | 一年中的第几个月 | (1~12) |
| 周 | 一周中的星期几 | (0~7 0和7都代表星期日) |
示例
- 每月的2号、6号、8号 8点-12点 每25分钟 执行
- */25 8-12 2,6,8 * *
| 符号 | 含义 |
| * | 代表任意时间 |
| , | 代表不连续的时间;例:0 6,13,18 * * * 表示在每天的6点0分、13点0分、18点0分执行一次 |
| - | 代表连续的时间范围;例:0 8 * * 1-6 表示在周一到周六的8点0分执行命令 |
| / | 代表每隔多久执行一次;例:*/6 * * * * 表示每隔6分钟就执行一次 |
| 选项 | 含义 |
| -u | 用来指定某个用户的crontab的服务 |
| -e | 编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。 |
| -l | 显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。 |
| -r | 从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。 |
| -i | 在删除用户的 crontab 文件时,给确认提示。 |
- [root@mjy ~]# cd /opt
- [root@mjy opt]# cat /etc/crontab
- SHELL=/bin/bash
- PATH=/sbin:/bin:/usr/sbin:/usr/bin
- MAILTO=root
-
- # For details see man 4 crontabs
-
- # Example of job definition:
- # .---------------- minute (0 - 59)
- # | .------------- hour (0 - 23)
- # | | .---------- day of month (1 - 31)
- # | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
- # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
- # | | | | |
- # * * * * * user-name command to be executed