[英]Error with crontab running a jar file
我正在使用打开的jdk和crontab运行Ubuntu 10.10。 我制作了一个简洁的Java应用程序,该应用程序做了一些很酷的事情,并将其导出为可运行的jar文件。 我可以从命令行运行它,但是我需要一些每天运行一次的文件。 因此,我在cron作业中编写了一个运行Shell脚本的程序,该脚本实际上会调用jar文件。 单独运行时,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将显示“错误”。 挺不描述的,对不对? 我已经检查了我的环境变量,那里没什么好看的。 还有什么我可能会想念的吗? 关于从这里去哪里有什么想法? 有什么办法可以让我每天轻松地运行此脚本?
检查该文件的执行权限。
cron以不同的权限运行,而不是登录时获得的权限。
您也尝试访问/ root。 尝试将脚本重新定位到另一个“非根”目录。
通过注释掉当前的/usr/bin/java ..
并在一行上自己插入set
来查看crontab的环境。
现在,从命令行中进行set > tmpEnvVarList.txt
并与log.txt中看到的内容进行比较。
几乎可以肯定,您的.profile或.bash_rc(或其他)设置了crontab无法使用的环境变量。 您需要添加. .profile
. .profile
等脚本。
cbO的想法也很好。
我希望这有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.