问题描述:在centos机器上部署了kettle脚本,每天定时跑一次,但是并没有成功跑,手动执行命令是可以的。而且写了一个测试的shell脚本也是可以执行的。
解决方案:
- 将2的错误输出,/usr/local/kettle/data-integration/spoon.sh: line 209: java: command not found,查了资料,可能是因为找不到java变量;
- 在job文件里面新建一个执行脚本的sh,我的叫做mydrug.sh
-
#!/bin/bash export PATH=$PATH:/usr/jdk/bin /usr/local/kettle/data-integration/kitchen.sh -file /usr/local/workspace/fooddrug/food_drug_job/food_drug_main_job.kjb 1>>/usr/local/workspace/fooddrug/food_drug.log
- crontab -e里面定时执行mydrug.sh就好了
-
40 00 * * * /usr/local/workspace/fooddrug/food_drug_job/mydrug.sh
虽然已经解决,但是我在其他Linux系统上定时任务没有遇到过这种错误,遇到问题还是想要找到问题所在,不同的机子总会遇到不同的问题。