免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 张不凡
打印 上一主题 下一主题

[学习分享] crontab的一个问题。~~~求知道。~ [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-08-15 22:13 |只看该作者
本帖最后由 prints 于 2012-08-15 22:14 编辑
crontab也接受了,我就想知道crontab怎么处理这样的情况的。有什么问题么?
我没有想钻牛角尖的。我自己那个命令,我自己验证下可以知道。

你已经自问自答了,我也是这个意思啊,你自己验证下就可以知道了。
我抛出的问题和之前抛出的问题你都没有认真想过吧?认真思考过你就应该知道
0 5 13 * 5 command
跟你之前给出的* */2 * * * command都有相同的地方,我是在帮你,怎么感觉你很反感呢,好吧,算我多事吧,我不该回你的帖,好心没好报。

论坛徽章:
0
12 [报告]
发表于 2012-08-17 21:11 |只看该作者
回复 11# prints


    感觉你回答带给我更多的问题啊。

像你说的 0 5 13 * 5

这里的 每个月的13号和星期五   我理解的话就是要达到 13号 和星期5 同时满足的时候才会去执行。

但是和之前的 * */2 * * * 我找不出什么区别?

是这里有误区?

论坛徽章:
0
13 [报告]
发表于 2012-08-17 21:29 |只看该作者
回复 12# 张不凡


不是同时满足条件才会执行,而是满足其中一个就可以执行。crontab默认每分钟都会“扫描”一次任务,因为分钟是最小的单位。如果第一位是*,代表每分钟都执行,同样的道理第二位是*代表每小时都执行,第三位的*代表每天,……
你给出的第一位是*就代表了每分钟它都要执行,第二位又给出了*/2,代表每两小时执行一次。因为第一位是*,所以它始终每分钟都会执行一次。
以上是我的推测,我没有验证过,楼主想要搞明白,还是自己验证一下,这样印象才深刻。
我还是原来的那个意思,如果你要每两小时执行一次你的某个command,就用:
0 */2 * * * command

不是我的回复带给你更多的问题,而是你该先完整了解一遍crontab再去钻这牛角尖,回过头来你就会发现网上有许多蹩脚的范例,许多人忽略了最常见的*号的意思。

纯个人理解,不一定完全对,如有不对,欢迎指出!

论坛徽章:
0
14 [报告]
发表于 2012-08-18 11:57 |只看该作者
回复 13# prints


    OK,谢谢你了。有空我多试一试!

论坛徽章:
0
15 [报告]
发表于 2012-08-21 21:15 |只看该作者
回复 14# 张不凡


我在13楼说的也有误。
1.是每一位都要满足时间条件满足才会执行,但我给出的例子有点特殊,因为某一天即是星期中的一天又是月中的一天,所以星期五和13号满足条件之一就会执行。
2.记得第一位永远不要用星号,除非你想每分钟都执行。

愿我之前的帖没有误导你,阿门!{:2_168:}

论坛徽章:
0
16 [报告]
发表于 2012-08-21 23:02 |只看该作者
没什么好纠结的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP