忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
12下一页
最近访问板块 发新帖
查看: 10390 | 回复: 13

linux下使用cron无法定时执行kettle任务[已解决] [复制链接]

论坛徽章:
0
发表于 2011-01-27 10:52 |显示全部楼层
本帖最后由 jtootl 于 2011-02-11 14:52 编辑

问题描述:
在linux下,使用cron定时执行其他命令,如echo一个字符串到一个文件,没有任何问题。
但定时执行kettle的kitchen.sh时就出问题啦,如果直接在命令行里使用kettle的kitchen.sh执行任务就完全正常

我的操作步骤如下:
1.在命令行键入crontab -e
2.写入如下命令:
42 10 26 01 * /mnt/kettle/run_job.sh
保存,重启crond服务。
/mnt/kettle/run_job.sh的内容为
/mnt/kettle/kettle_3.2/kitchen.sh -file=/mnt/kettle/job/xxx.kjb -level=Basic > /mnt/kettle/display.log
3.等待
4.查看结果
/mnt/kettle/display.log文件生成,但是里面没有任何输出,而且xxx.kjb的任务没有执行效果

于是我就继续调试,
我的调试步骤如下:
1.编辑在/mnt/kettle/kettle_3.2/kitchen.sh,
即vi /mnt/kettle/kettle_3.2/kitchen.sh
在每个主要代码块后添加echo "xxx",打印一些内容,看是否是kitchen.sh内代码的问题

2.添加上面所说的定时任务
3.等待
4.查看结果
/mnt/kettle/display.log文件生成,里面有输出,就是我在kitchen.sh里添加的那些echo,一个不少,但是xxx.kjb的任务依旧没有执行效果
5.查看kettle自己的执行错误日志
错误日志大小为0,没有任何错误


请问各位大大,谁遇到过这个情况,指点下小弟,谢谢啦!
PS:我使用的是kettle 3.2版本

-------------补充描述
根据4楼ly215197 的建议,我在添加完定时任务后,给.sh文件重新赋予了执行权限
这是crontab -e的截图
2.png


保存完定时任务,我重启crond服务,重新赋予.sh执行权限,如图
3.png


根据5楼shileiadmin (Lei) 的建议,我把我的job里的路径换成了绝对路径,如图
1.png
至于“要用到的环境变量用source引入到环境中来”,我不会改。

做了这些改动以后,结果依然如前,问题没有解决。

请大大们继续指点!

------------解决方案
linux下使用crond定时执行kettle的job
http://www.blogjava.net/orangehf/archive/2011/02/11/344045.html

论坛徽章:
0
发表于 2011-01-27 11:21 |显示全部楼层
-log=........可以吗 !

论坛徽章:
0
发表于 2011-01-27 13:23 |显示全部楼层
-log=........可以吗 !
taojie2000 发表于 2011-01-27 11:21


run_job.sh里,添加了-logfile=xxxxx
/mnt/oradata/kettle/kettle_3.2/kitchen.sh -job=/mnt/oradata/kettle/Job/test_cron_job.kjb -level=Detailed -logfile=/mnt/oradata/kettle/run_job_log.log

没有logfile生成,也没执行job。。
继续求救!~~

论坛徽章:
0
发表于 2011-01-27 14:57 |显示全部楼层
crontab -e后重新赋予执行权限在试下呢?

论坛徽章:
0
发表于 2011-01-27 15:35 |显示全部楼层
回复 1# jtootl


    检查JOB所涉及到的文件,所有的文件写全路径,要用到的环境变量用source引入到环境中来。

论坛徽章:
0
发表于 2011-01-27 15:49 |显示全部楼层
crontab -e后重新赋予执行权限在试下呢?
ly215197 发表于 2011-01-27 14:57



    赋予run_job.sh执行权限吗?

论坛徽章:
0
发表于 2011-01-27 15:51 |显示全部楼层
回复  jtootl


    检查JOB所涉及到的文件,所有的文件写全路径,要用到的环境变量用source引入到环境 ...
shileiadmin 发表于 2011-01-27 15:35


“要用到的环境变量用source引入到环境”,如何用source。。望指教

论坛徽章:
0
发表于 2011-01-27 16:51 |显示全部楼层
请看楼主补充描述!

论坛徽章:
19
CU大牛徽章
日期:2013-04-17 11:48:262015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-03-10 22:39:202015年中国系统架构师大会
日期:2015-06-29 16:11:282015亚冠之平阳省
日期:2015-07-31 09:19:042015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-09-30 06:20:002015亚冠之柏太阳神
日期:2015-10-19 20:29:5915-16赛季CBA联赛之天津
日期:2016-11-29 14:03:43双鱼座
日期:2015-01-12 20:58:53水瓶座
日期:2014-07-31 22:02:02CU大牛徽章
日期:2013-04-17 11:48:40
发表于 2011-01-28 10:37 |显示全部楼层
手动执行那个脚本,可以执行,可以生成日志吗?

论坛徽章:
0
发表于 2011-01-28 11:19 |显示全部楼层
手动执行那个脚本,可以执行,可以生成日志吗?
beyondfly 发表于 2011-01-28 10:37



    可以生成日志,一切正常。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP