需求是 每天的8-20点之间 每隔3小时零20分钟执行一次,怎么写
*/200 8-20 * * * /usr/bin/backup
这样写对吗
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您的cron表达式写法不完全正确,根据您的需求(每天8-20点之间,每隔3小时零20分钟执行一次),正确的cron表达式应该是这样的:
20 8-17/3 * * * /usr/bin/backup
这里解释一下这个cron表达式的含义: - 20
: 指定每个小时的第20分钟开始执行。 - 8-17/3
: 表示从第8小时到第17小时(即8点到17点),每隔3小时执行。注意,由于您希望在20点也执行一次,但直接使用8-20/3
会包括20点,而实际上我们只需要覆盖到19点的最后一轮执行即可,因为20点是不需要再隔3小时的。所以用8-17/3
确保了8点、11点、14点、17点各执行一次。 - * * *
: 对于月份、日期和星期的字段,*
表示任何值,意味着每个月的每一天都适用。 - /usr/bin/backup
: 这是您要执行的命令或脚本路径。
综上所述,这个cron表达式会在每天的8:20、11:20、14:20、17:20自动执行/usr/bin/backup
任务,满足了您提出的在8点至20点之间每隔3小时零20分钟执行一次的需求。