在crontab的shell脚本中使用jar文件时,是否不执行jar文件?

时间:2018-08-27 17:38:32

标签: shell unix jar cron

下面是我的shell脚本,位于/ app / Scripts中。

Test.sh:

#!/bin/sh
usr/bin/java -jar /app/Scripts/emailJAR.jar >> /app/pvs/test.txt
echo $(date) >> /app/Scripts/test.txt

我将cron-tab安排为* * * * * /app/Scripts/Test.sh

我每分钟都会得到“ echo $(date)”的输出,但是不是usr / bin / java -jar /app/Scr​​ipts/emailJAR.jar。

有人可以提出建议吗?

脚本位置,Jar位置,可执行权限都已设置。仍然只有java -jar命令通过crontab执行。

奥秘,我能够手动运行脚本。

请帮助我解决这个问题。

2 个答案:

答案 0 :(得分:0)

>> /app/pvs/test.txt

看起来它可以作为.jar文件的参数,例如:

java -jar myJar.jar arg1 arg2 arg3 etc

您可以

System.out.println(Arrays.asList(args)); 

在程序的主要方法中,测试我的陈述是否正确。

或者将您要查找的输出重定向到您引用的test.txt文件的输出流

我希望您在尝试将jar以及命令本身放入crontab之前对其进行了测试。

答案 1 :(得分:0)

在第二行中,尝试将usr/bin/java更改为/usr/bin/java。按照目前的说法,它仅在从根目录执行时才有效,而crontab可能从其他目录执行。