Chinaunix

标题: 一个郁闷的crontab [打印本页]

作者: roger84    时间: 2008-08-19 10:12
标题: 一个郁闷的crontab
有一个脚本,具体内容就是读取昨天日期的log。 log名字为 :2008-08-11这个格式
就是自己得到昨天的日期,之后用这个日期作为文件名字,去读取相应的log.
脚本我测试,执行都没有问题了!!

之后放在两台不同的机器上分别配制了crontab,让他们都在早上3:00执行
可是第二天我一看,两个机器都是3:01执行了,可执行的脚本却读取了前天的log.
之后改为5:01,同样读取了前天的。
改为了8:01,结果读取了昨天的log.--〉这个正确

请问,这个是什么问题??
郁闷阿!!不解!
请各位大哥指点!!

脚本是perl的

[ 本帖最后由 roger84 于 2008-8-19 10:19 编辑 ]
作者: liaosnet    时间: 2008-08-19 10:15
标题: 回复 #1 roger84 的帖子
没看懂~~~
作者: roger84    时间: 2008-08-19 10:19
原帖由 liaosnet 于 2008-8-19 10:15 发表
没看懂~~~



再看看!修改过了
作者: meiki05    时间: 2008-08-19 10:37
别写在crontab里,放到/etc/cron.daily/里试试。
作者: roger84    时间: 2008-08-19 10:41
原帖由 meiki05 于 2008-8-19 10:37 发表
别写在crontab里,放到/etc/cron.daily/里试试。




但是我要定点执行阿!!
现在可以肯定的是cron肯定可以执行,就是在取我的log的时候,日期总搞不对

但是在8:01的时候,cron执行确实正确的!

[ 本帖最后由 roger84 于 2008-8-19 10:45 编辑 ]
作者: cuci    时间: 2008-08-19 10:48
具体怎么写的贴上来看看,还有,看看root生成的log有没有信息
作者: meiki05    时间: 2008-08-19 10:48
原帖由 roger84 于 2008-8-19 10:41 发表




但是我要定点执行阿!!
现在可以肯定的是cron肯定可以执行,就是在取我的log的时候,日期总搞不对

但是在8:01的时候,cron执行确实正确的!


确实挺怪的。

不过cron.daily也是每天4点执行的。

要不你在perl脚本里加几条输出语句吧,在被cron执行的时候,看看取时间那段到底咋回事。
作者: roger84    时间: 2008-08-19 10:55
原帖由 meiki05 于 2008-8-19 10:48 发表


确实挺怪的。

不过cron.daily也是每天4点执行的。

要不你在perl脚本里加几条输出语句吧,在被cron执行的时候,看看取时间那段到底咋回事。



已经加入了,8:01的输出信息确实没错,打印的就是xxx.080811.log
但是3,5点的都是 xxx.080810.log
加入今天是080812的话。
作者: cuci    时间: 2008-08-19 10:58
自己写个简单shell,值echo打印日期
3点5点8点各打印一次,如果时间没问题那么就去查看你的程序
作者: roger84    时间: 2008-08-19 11:05
原帖由 cuci 于 2008-8-19 10:58 发表
自己写个简单shell,值echo打印日期
3点5点8点各打印一次,如果时间没问题那么就去查看你的程序



可是为什么8点我的可以执行,手动可以执行,结果全对呢?
作者: cuci    时间: 2008-08-19 11:14
原帖由 roger84 于 2008-8-19 11:05 发表



可是为什么8点我的可以执行,手动可以执行,结果全对呢?



手动执行和cron自动执行环境不是完全一样的,你先试试我说的方式看,问题需要一步一步判断
作者: xuledw    时间: 2008-08-19 11:18
原帖由 cuci 于 2008-8-19 11:14 发表



手动执行和cron自动执行环境不是完全一样的,你先试试我说的方式看,问题需要一步一步判断

难道是调用环境变量的问题
作者: maitr    时间: 2008-08-19 11:31
刚好是8个小时的时差,
查查你本地时间的设置...
作者: roger84    时间: 2008-08-19 11:31
谢谢大家的帮助,已经找到问题了!
谢谢大家!

谢谢所有的兄弟们!

是自己的脚本问题
作者: maitr    时间: 2008-08-19 11:33
咋解决的,能透露点么
作者: roger84    时间: 2008-08-19 18:06
原帖由 maitr 于 2008-8-19 11:33 发表
咋解决的,能透露点么



问题出在了,date -u
作者: cuci    时间: 2008-08-19 20:36
昨天日期可以用yesterday参数取
作者: cnjnhu    时间: 2008-08-19 23:19
楼主写下全部脚本给大家看
作者: flyfreebsd    时间: 2008-08-22 17:50
原帖由 liaosnet 于 2008-8-19 10:15 发表
没看懂~~~



描述的详细点
作者: ppop123    时间: 2008-08-22 21:37
他取时间的时候加了参数-u,就是取了UTC时区的时间了,而我们的应该是CST的,差8小时呢,肯定错了。
也就是本来应该是date +%Y%m%d,结果他写成了date -u +%Y%m%d。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2