crontab里 */40 9 * * * 是不是代表9点开始每40分钟执行? 直觉这个肯定不是从9:00开始每隔40分钟执行一次,但是也不能肯定它代表一个什么样的Schedule,那就做一个实验验证一下吧(有时候明明觉得自己已经掌握了一些知识点,但是总有一些问题,你不能很确切、肯定的回答,其实说明了还有盲点,知识点了解、掌握得不够彻底)。
在crontab里面设置一个下面作业,然后在日志/var/log/cron里面,你可以看到定时任务的相关日志,然后就知道了这个作业的真实Schedule
*/40 9 * * * echo "hello" >> /tmp/text.txt
其实*/40表示每隔40分钟执行一次,但是加上*/40 9以后,表示这个作业在9点钟内,每隔四十分钟执行。也就会说这个作业会在每天的9:00、 9:40各执行一次。
如果要设置自9点钟开始,每隔40分钟执行一次,使用下面配置即可。在解决问题的同时,也加深了对这个的理解!
*/40 9-23 * * * echo "hello" >> /tmp/text.txt
创建人 | 黄康 |
文档编辑权限 | 创建者私有 |
文档阅读权限 | 来自分类 |
分类阅读权限 | 所有人 |
分类编辑权限 | 技术服务部 : 机构 渠道合作伙伴 : 机构 系统管理员 : 人员 |
分类审核权限 | 审核小组 : 岗位 |
分类预览权限 | 审核小组 : 岗位 |
分类下载权限 | 技术服务部 : 机构 |
修改日期 | 修改人 | 备注 |
2019-09-09 16:46:01[当前版本] | 黄康 | CREAT |