我正在从putty访问我的linus盒子。我在Jar文件中打包了一个Java Progaram。我创建了一个scheduler.sh文件来设置Java Path并执行Java Program.SO当我运行Scheduler.sh时,一切都很好,Java程序运行。
Scheduler.sh的内容是
#!/bin/sh
> echo "The Script Starts now!!!!!!!!!!"
>
> export JAVA_HOME=/u01/app/oracle/java/java64/jrockit-jdk1.6.0_29
> export PATH=$JAVA_HOME/bin:$PATH cd
> /u01/CRM/softwaredepot/jarfiles/
>
> java -jar EPALS_Linux.jar
>
> echo "The Script ends now!!!!!!!!!!"
现在我想用CRONJOB执行它。所以我把它添加到CONJOB
[sankalp@elb1cn11 ~]$ crontab -e
53 13 * * * /u01/CRM/softwaredepot/Scheduler.sh>tester.log
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"/tmp/crontab.XXXXU8TrO9" 2L, 64C
什么都没发生。但是当我执行这一行时(在crontab中提到
)/u01/CRM/softwaredepot/Scheduler.sh>tester.log 它运行成功。这意味着crotab中的条目也是正确的。那么为什么它没有执行。请帮助我
答案 0 :(得分:2)
您没有指定运行脚本的内容。例如bash
或sh
53 13 * * * bash /u01/CRM/softwaredepot/Scheduler.sh>tester.log
由于你已经指定了开头的shebang:#!/bin/sh
它应该自动运行sh,所以它可能是权限。它没有执行权。
run chmod +x shcripname.sh
答案 1 :(得分:0)
这可能是工作目录问题。
53 13 * * * cd / path / to / the / working / dir /; /u01/CRM/softwaredepot/Scheduler.sh>tester.log