cron ?和*的区别
时间: 2024-05-25 21:09:51 浏览: 8
cron是一种在Linux和Unix系统中用来执行定时任务的工具。在cron中,星号(*)和问号(?)都是用来指定一个通配符,但它们的作用略有不同。
星号(*)表示匹配该字段的所有可能值。例如,如果你想在每天的每个小时执行某个任务,你可以使用0 * * * * *来表示每小时的第0分钟执行一次。
问号(?)通常用于指定天和星期字段之间的互斥关系。例如,如果你想在每个月的第一天执行某个任务,无论这一天是星期几,你可以使用0 0 1 * * ?。
总之,星号(*)表示匹配所有可能值,而问号(?)则用于特殊情况下的互斥关系。
相关问题
cron ? * 区别
这两个符号在 cron 表达式中都代表了时间的部分。
- “*” 代表匹配这个时间部分的所有可能值,例如在分钟部分使用 “*” 就代表每分钟都执行。
- “?” 代表不指定值,用于代替“*”或具体的数值,通常在日部分使用“?”,表示不关心日期。
因此,“cron ? *” 表示在不关心日期的情况下,每小时都执行一次。而“cron *” 则是不完整的 cron 表达式,缺少了日期、月份和星期的部分,无法确定具体的执行时间。
@Scheduled(cron = "* 0/25 * * * ?")和@Scheduled(cron = "* */25 * * * ?")有什么区别
@Scheduled(cron = "* 0/25 * * * ?")表示每小时的第0分钟开始,每隔25分钟执行一次任务。
@Scheduled(cron = "* */25 * * * ?")表示每隔25分钟执行一次任务,不考虑开始的具体分钟数。
因此,两者的区别在于对任务开始的具体分钟数是否有要求。