起源
最近在玩青龙面板,开始收费腾讯云功能,这段时间一直忙着将云功能迁移到其他平台。网上资料很多,我也了解一点,但是我给大家讲一下我的经历。
丢弃
表达式组件cron 通常由六个空格和七个字符组成,依次代表秒、分钟、小时、天、月和周年纪念日。在某些情况下,即使在云的情况下,也不需要写入“年份”字段。如果设备上存在该位,则将触发该函数并发生表达式错误。
表达式中每个字符的定义按字面意思表示该字符所在的时间,其数值范围也必须遵循时间单位。例如,秒的范围为0-59,小时的范围为0-23,月的范围为1-12,依此类推。周和月可以用缩写代替,不一定是数字,但外国人对一周第一天的定义有点不同,所以建议用数字表示月份,用缩写表示周。我们也一样,大家都知道那一周的缩写。
表达式中的通配符允许您使用通配符表达时间逻辑。 cron 中常用的通配符分别包括“, – * /”。
您可以使用逗号“,”连接多个时间点,并用逗号分隔。例如,在月份位置输入1和2,表示同时在1月和2月运行。
破折号“-”用于表示连续触发的持续时间和范围。例如,在第二个位置输入10-30 意味着它将在10 到30 秒之间每秒运行一次。
星号“*”用于表示所有值。这意味着所有值都被执行,这意味着“每次”。例如,在第二个位置输入*表示每秒运行一次。
斜杠“/”表示任务的间隔执行。格式为“开始时间/时间间隔”。例如,在第二个位置输入5/20表示从第5秒开始每20秒运行一次。
还有一个通配符问号“?”,这也很重要。这只用于周和日字段,以避免周和日之间的冲突,以及周和日之间的互斥。通常,周和日有一个值,另一个值由? 表示,表示未指定值。例如,如果您希望某个操作在每月1 日触发,但忽略星期几,则可以将其设置为0 0 0 1 * ?
一些栗子
*/5 * * * * 每5 秒运行一次。
0 */1 * * * 每分钟运行一次
0 0 2 1 * ? * 每月1 日凌晨2 点运行。
0 15 10 ? * 周一至周五每天上午10:15 运行该作业。
0 15 10 ? 6L 2002-2006 从2002 年到2006 年,每个月的最后一个星期五早上运行10:15 作业。
0 0 23 * * ? 每天23:00 运行一次。
0 0 1 * * ? 每天凌晨1 点运行。
0 0 1 1 * ? 在每月第一天凌晨1 点运行。
0 0 23 L * ? 每月最后一天23:00执行一次
0 0 1 ? * L 每个星期日凌晨1 点运行一次
0 26,29,33 * * * 每26分钟、29分钟、33分钟执行一次
0 0 0,13,18,21 * * ? 每天0:00、13:00、18:00、21:00 运行。
0 0 10,14,16 * * ? 每天10:00、14:00 和16:00 执行。
0 0/30 9-17 * * ? 在9 点至5 点的营业时间内每30 分钟运行一次。
0 0 12 ? * WED 每周三中午运行。
0 0 12 * * 每天中午触发
0 15 10 ? ** 每天早上由10:15 触发。
0 15 10 * * 每天早上触发10:15
0 15 10 * * ? * 每天早上触发10:15
0 15 10 * * 2005 2005 年每天早上由10:15 触发
0 * 14 * * 每天下午2 点到2:59 每分钟触发一次
0 0/5 14 * * 每天下午2 点至2:55 每5 分钟触发一次
0 0/5 14,18 * * ? 从下午2 点到2:55 每5 分钟触发一次,从下午6 点到6:55 每5 分钟触发一次。
0 0-5 14 * * 每天下午2 点到2:05 每分钟触发一次
0 10,44 14 ? 3 WED 三月份的每个星期三下午在2:10 和2:44 触发。
0 15 10 ? * 周一至周五上午10:15 触发
0 15 10 15 * ? 每月15 日上午触发10:15
0 15 10 L * ? 每月最后一个早上触发10:15
0 15 10 ? * 6L 每月最后一个星期五上午触发10:15
0 15 10 ? * 6L 2002-2005 2002 年至2005 年每月最后一个星期五上午触发10:15
0 15 10 ? * 6#3 每月第三个星期五上午触发10:15
总结
起初,有些任务的时间设置还是很麻烦,我通常都是直接参考别人的时间来学习,但从现在开始,我可以按照自己的喜好来设置。
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/81726.html