免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1702 | 回复: 9
打印 上一主题 下一主题

crontab设置的问题(急) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-26 10:24 |只看该作者 |倒序浏览
11 10 3-31 * 1,2,3,5,6 /users/hdqs/sc_test/cronjobs/alert_pma1
12 10 3-31 * 0 /users/hdqs/sc_test/cronjobs/alert_pma2
13 10 2 * 1,2,3,5,6,0 /users/hdqs/sc_test/cronjobs/alert_pma3
17 10 1 * * 1/users/hdqs/sc_test/cronjobs/alert_pma4

请帮忙看看以上的设置,按设置的目的,只有第一行会在今天被触发,但今天,所有的四行全部被触发了,请问是什么原因?谢谢!!急!在线等。

论坛徽章:
0
2 [报告]
发表于 2012-04-26 12:32 |只看该作者
换个问题,如果我的程序需要在一个月的第二天,而且当天是星期四时运行,这个cron job 如何设置?

论坛徽章:
0
3 [报告]
发表于 2012-04-26 12:59 |只看该作者
我的测试结果是日和周不能同时设置,难道这是crontab的限制,那也太那个了吧。

论坛徽章:
0
4 [报告]
发表于 2012-04-26 13:27 |只看该作者
还是我来自问自答吧!!!!

日期和周应该是“或”的关系,而不且“与”的关系,所以才会有以上的问题。

几年没来,ChinaUnix不一样了,想问一下可以说脏话吗?应该不行了,还是不说了。。。。。。

论坛徽章:
20
申猴
日期:2013-09-12 19:39:05狮子座
日期:2014-07-20 21:19:51寅虎
日期:2014-08-16 18:37:47水瓶座
日期:2014-10-15 18:58:25天蝎座
日期:2015-01-22 18:19:15NBA常规赛纪念章
日期:2015-05-04 22:32:032015亚冠之胡齐斯坦钢铁
日期:2015-06-03 11:28:502015亚冠之吉达阿赫利
日期:2015-09-19 12:41:47午马
日期:2013-09-18 14:36:40戌狗
日期:2013-09-18 14:44:39处女座
日期:2013-09-24 17:46:41CU十二周年纪念徽章
日期:2013-10-24 15:41:34
5 [报告]
发表于 2012-04-26 14:53 |只看该作者
学习一下

论坛徽章:
0
6 [报告]
发表于 2012-04-27 11:04 |只看该作者
本帖最后由 afoxwwk 于 2012-04-27 11:20 编辑

还在纠结这个问题。。。

在man crontab中看到这样的Example :

     Example 3 Specifying Days of the Month and Week

     This example runs a command on the first  and  fifteenth  of
     each month, as well as on every Monday:

       0 0 1,15 * 1

这里的描述我搞不清楚,这个as well as算是 and 还是 or?

另外发现一样很奇怪的事情,在我们的production环境下,原先有一条同时指定month of day and week的cron job, 它一直是运行正常的,如下:
45 23 1,2 * 1,2,3,4,5,6 /users/test/HP01/cronjobs/test
但当我稍为修改了执行时间后就又是出现前面提到的问题,真是奇怪!!!
45 23 2 * 1,2,3,4,5,6 /users/test/HP01/cronjobs/test

继续纠结!!!!!

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
7 [报告]
发表于 2012-04-30 12:44 |只看该作者
本帖最后由 rdcwayx 于 2012-04-30 12:47 编辑
afoxwwk 发表于 2012-04-26 12:32
换个问题,如果我的程序需要在一个月的第二天,而且当天是星期四时运行,这个cron job 如何设置?


这个不是用cronjob 来控制的。

将下面的脚本放在已有的脚本之前,每天运行一遍即可。
  1. date=`date +%d`
  2. day=`date +%a`

  3. if [[ ${date} == "2" && ${day} == "Thu" ]] ; then
  4.      echo "Run it"     # 继续
  5. else
  6.      echo "not the right time"
  7.      exit                   #不符合日期条件, 直接退出
  8. fi
复制代码
cronjob 可以设成:
  1. 10 10 * * * /users/hdqs/sc_test/cronjobs/alert_pma1
复制代码

论坛徽章:
0
8 [报告]
发表于 2012-04-30 21:41 |只看该作者
3-31 which mean it is going to run everyday except 1 and 2.


   

论坛徽章:
0
9 [报告]
发表于 2012-06-05 15:33 |只看该作者
忘了跟大家分享,这个问题的解决方法如下(Solaris env):

#0 20 3-31 * 1,2,3,5,6 /users/test DAILY > /tmp/daily_refresh.log 2>&1
0 20 * * 1,2,3,5,6 if [ `date +\%d` -gt 2 ]; then  /users/test DAILY; fi

#0 16 3-31 * 0 /users/test DAILY > /tmp/daily_refresh.log 2>&1
0 16 * * 0 if [ `date +\%d` -gt 2 ]; then  /users/test DAILY; fi

#0 20 2 * 1,2,3,5,6,0 /users/test DAILY > /tmp/daily_refresh.log 2>&1
0 20 * * 1,2,3,5,6,0 if [ `date +\%d` -eq 2 ]; then  /users/test DAILY; fi

#0 20 1 * 3 /users/test DAILY > /tmp/daily_refresh.log 2>&1
0 20 * * 3 if [ `date +\%d` -eq 1 ]; then  /users/test DAILY; fi

求职 : 项目执行/协
招聘 : 信息技术专员
论坛徽章:
2
天秤座
日期:2014-06-17 15:08:20白羊座
日期:2014-06-17 15:16:53
10 [报告]
发表于 2012-06-05 15:36 |只看该作者
dfdssdfsdf
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP