Cron表达式0 0/10 * * * ?和0 0/10 * 1/1 * ? *有什么区别建议用哪个
时间: 2023-11-14 09:44:35 浏览: 515
这两个Cron表达式的区别在于触发时间的不同。
- Cron表达式0 0/10 * * * ? 表示每隔10分钟触发一次,不考虑日期,不考虑星期。
- Cron表达式0 0/10 * 1/1 * ? * 表示每隔10分钟触发一次,每天都要触发,不考虑星期。
建议使用哪个Cron表达式,取决于你的具体业务需求。如果你需要每天定时执行某个任务,则可以使用第二个Cron表达式;如果你只需要每隔一段时间执行某个任务,则可以使用第一个Cron表达式。
相关问题
@Scheduled(cron = "0 0 0 * * ?") 和 @Scheduled(cron = "0 0 0 * * *") 的区别
这两个 cron 表达式都表示在每天的 0 点执行定时任务,但是它们的精度不同。具体来说,@Scheduled(cron = "0 0 0 * * ?") 的精度是到秒级别的,而 @Scheduled(cron = "0 0 0 * * *") 的精度是到天级别的。
因为 cron 表达式中的第六个字段(星期)和第七个字段(年份)是可选的,所以 @Scheduled(cron = "0 0 0 * * *") 等价于 @Scheduled(cron = "0 0 0 * * ?")。
如果你只需要每天执行一次定时任务,建议使用 @Scheduled(cron = "0 0 0 * * ?"),因为它可以防止在某些情况下任务重复执行。但是如果你需要以天为单位执行定时任务,则可以使用 @Scheduled(cron = "0 0 0 * * *")。
04 17 * * * /root/workgroup/kanban/ ./kbreboot.sh 将命令规范话
好的,这是一个crontab定时任务,每天的17:04分执行/root/workgroup/kanban/目录下的kbreboot.sh脚本。为了更规范地书写命令,建议将命令改为如下形式:
```
4 17 * * * cd /root/workgroup/kanban && ./kbreboot.sh
```
其中,修改后的cron表达式 "4 17 * * *" 的含义与之前相同,表示在每天的17点04分执行该命令。这个命令将首先进入/root/workgroup/kanban目录,然后执行kbreboot.sh脚本。这样,可以确保脚本在正确的目录下执行,避免出现路径问题。