运行jar文件的crontab出错

时间:2012-05-04 18:37:33

标签: java bash jar cron

我正在使用open jdk和crontab运行Ubuntu 10.10。我做了一个简洁的小Java应用程序,做了一些很酷的东西,并将其导出为可运行的jar文件。我可以从命令行运行它就好了,但是我需要每天运行一次文件的东西。所以我在一个cron作业中写道,运行一个实际调用jar文件的shell脚本。 shell脚本在单独运行时工作正常,它看起来像这样:

#!/bin/sh
/usr/bin/java -jar /root/proj/CoolStuff.jar

完美无缺。所以我把它添加到crontab:

23 14 * * * /root/proj/runScript.sh > /root/proj/log.txt 2>&1

这不完美。事实上,它没有运行。 log.txt会出现“错误”。相当不伦不类,对吧?我检查了我的环境变量,没有什么花哨的。还有什么我可能会失踪的吗?关于从哪里去的任何想法?我有没有办法轻松地每天运行这个脚本?

2 个答案:

答案 0 :(得分:0)

检查该文件的执行权限。

cron运行时具有不同的权限,而不是登录时获得的权限。

您也尝试访问/ root。 尝试将您的脚本重新定位到另一个"非root" 。目录

答案 1 :(得分:0)

通过评论当前的/usr/bin/java ..并在一行中插入set来查看crontab的环境。

现在从命令行执行set > tmpEnvVarList.txt并与log.txt中的内容进行比较。

几乎可以肯定你的.profile或.bash_rc(或其他)正在设置crontab无法使用的env变量。您需要在脚本中添加. .profile等。

cbO的想法也很好。

我希望这会有所帮助。

相关问题