我已通过在jar
末尾保存此行来安排我的crontab
文件:
30 12 * * * java -jar test.jar > test.log (I have also tried test.txt)
Cron已经启动了这项工作,也创建了日志文件,但该文件中没有任何内容。知道为什么会这样吗?我正在我的计划中System.out.println()
。
我已为该文件的每个人添加了写入权限。
在应用程序启动之前,调度程序是否会崩溃?当我通过执行crontab
检查grep CRON /var/log/syslog
的日志时,它给了我精美的输出,没有错误指示:
Sep 2 12:19:01 ip-172-31-18-162 CRON[2308]: (root) CMD (java -jar /opt/bitnami/apache-tomcat/webapps/apps/FullEmailReport/DJOF_FullEmail_DynamicContentReport_ScheduledPart.jar > /opt/bitnami/apache-tomcat/webapps/apps/FullEmailReport/data/app.txt)
答案 0 :(得分:1)
尝试添加2>& 1以将System.err重定向到该文件:
SHFileOperation()
答案 1 :(得分:0)
这是一个有点老的问题,但我认为它可能值得指出,因为没有人提到它...
cron 不知道您的 PATH,也不知道 java 在哪里。回到我的 Solaris shell 脚本时代,我们不得不在 cron 中放置所有内容的完整路径。由于我不知道您的 java 安装的确切位置,也不知道您的 test.jar 文件,因此我无法编写完整的确切命令,但它可能类似于:
30 12 * * * /usr/bin/java -jar /home/username/myTestStuff/test.jar > /user/username/myTestStuff/logfiles/test.log 2>&1