当前位置: 技术问答>LINUX中crontab的奇怪问题
iis7站长之家
crontab执行informix脚本的问题(没人知道吗,加分求解)
来源: 互联网 发布时间:2016-09-01
本文导语: 本帖最后由 king1021_2000 于 2010-05-26 17:04:20 编辑 $ crontab -l 00 12 * * * /home/informix/bin/dbaccess zxdb_1000 /home/informix/task/updatecallflag.sql >> /home/informix/task/result 1、建立了一个定时任务如上所示,/var/spool/cron/crontabs 中对...
00 12 * * * /home/informix/bin/dbaccess zxdb_1000 /home/informix/task/updatecallflag.sql >> /home/informix/task/result
1、建立了一个定时任务如上所示,/var/spool/cron/crontabs 中对应的任务文件已经更新,但是任务到达了执行时间却没有执行
2、直接执行命令 /home/informix/bin/dbaccess zxdb_1000 /home/informix/task/updatecallflag.sql >> /home/informix/task/result 没有问题,请大家看看
似乎已经执行,result文件已经生成,但是命令执行了却没有效果,为了进一步的验证,再建立一个任务
00 12 * * * cp /home/informix/task/mytabs /home/informix/task/mytabs_bak_bak
时间到达后,mytabs_bak_bak文件生成,说明执行没有问题,但是执行了informix脚本就是没有效果,何解?
|
你查看/var/log/cron日志文件 看看12点正的时候的日志是如何的 是否执行了该脚本 是否有错误
另外你这个操作是否需要某些设置的环境变量
我推荐你这样把你要执行的东西写到一个脚本里 如果要使用为了informix专用的环境变量 也一并写在里面
#!/bin/sh
export SomeVar=xxxxxxx
/home/informix/bin/dbaccess zxdb_1000 /home/informix/task/updatecallflag.sql >> /home/informix/task/result
然后修改crontab
0 12 * * * /path/test.sh
如果你需要特殊用户来执行该脚本的话 比如informix用户 那么最好指定一下
0 12 * * * infomix /path/test.sh
另外你这个操作是否需要某些设置的环境变量
我推荐你这样把你要执行的东西写到一个脚本里 如果要使用为了informix专用的环境变量 也一并写在里面
#!/bin/sh
export SomeVar=xxxxxxx
/home/informix/bin/dbaccess zxdb_1000 /home/informix/task/updatecallflag.sql >> /home/informix/task/result
然后修改crontab
0 12 * * * /path/test.sh
如果你需要特殊用户来执行该脚本的话 比如informix用户 那么最好指定一下
0 12 * * * infomix /path/test.sh
|
使用cron需要注意的问题:
1、命令尽量写全路径。因为cron运行时候没有没有用户环境变量,所以要么自己在要调用shell中设置环境变量,要么在/etc/profile中设定系统环境变量。但最保险的做法还是自己指定命令的全路径,如果坚持用前者请记住一条:如果碰到错误或者命令执行不成功想想是否你要调用的命令被覆盖。
2、修改crontab后执行/sbin/service crond reload重新载入配置。尽管crond会在用户修改crondtab后reload一次,但手动reload更为安全。
3、调用其他程序注意导入程序所需要的类文件及环境变量等依赖性文件。如调用java程序,需要指定JAVA_HOME等环境变量,还要指定程序所需要的包。
4、查看/var/log/cron以确定cron是否执行,及时排查错误
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bossy0709/archive/2007/05/24/1623397.aspx
1、命令尽量写全路径。因为cron运行时候没有没有用户环境变量,所以要么自己在要调用shell中设置环境变量,要么在/etc/profile中设定系统环境变量。但最保险的做法还是自己指定命令的全路径,如果坚持用前者请记住一条:如果碰到错误或者命令执行不成功想想是否你要调用的命令被覆盖。
2、修改crontab后执行/sbin/service crond reload重新载入配置。尽管crond会在用户修改crondtab后reload一次,但手动reload更为安全。
3、调用其他程序注意导入程序所需要的类文件及环境变量等依赖性文件。如调用java程序,需要指定JAVA_HOME等环境变量,还要指定程序所需要的包。
4、查看/var/log/cron以确定cron是否执行,及时排查错误
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bossy0709/archive/2007/05/24/1623397.aspx
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。