Ben*_*ier 1 cron jobs debian sh
我不知道为什么我的cronjob没有执行.以下是详细信息:
我在/ usr/src中有一个名为stundenplan.sh的脚本,它执行一个jar文件.如果从控制台运行脚本本身,则脚本本身可以正常工作.但试图从cronjob运行它不起作用.
该脚本如下所示:
#!/bin/sh
java -jar vorlesungsplaene.jar
Run Code Online (Sandbox Code Playgroud)
jar文件位于预期的同一目录中.
我定义了两个cronjobs:
# m h dom mon dow command
30 * * * * /usr/src/stundenplan.sh
0-59 * * * * echo "dude" >> /tmp/test.txt
Run Code Online (Sandbox Code Playgroud)
下面的工作运行正常,在test.txt文件中精心编写"dude".
正如您在syslog中看到的那样,上面的作业失败了:
Jul 18 15:29:01 vps47327 /USR/SBIN/CRON[16361]: (root) CMD (echo "dude" >> /tmp/test.txt)
Jul 18 15:30:01 vps47327 /USR/SBIN/CRON[16364]: (root) CMD (/usr/src/stundenplan.sh)
Jul 18 15:30:01 vps47327 /USR/SBIN/CRON[16365]: (root) CMD (echo "dude" >> /tmp/test.txt)
Jul 18 15:30:01 vps47327 /USR/SBIN/CRON[16363]: (CRON) error (grandchild #16364 failed with exit status 1)
Run Code Online (Sandbox Code Playgroud)
任何建议,想法或解决方案?;)
它看起来像一个路径问题.Crontab可能正在从某个任意目录运行,因此无法找到jar文件.
尝试做:
30 * * * * cd /usr/src && ./stundenplan.sh
这不是最漂亮的方式,但如果它有效,那么至少你知道问题是什么.将jar文件的完整路径放在脚本中可能会更优雅,但我会把这个问题留给你.:)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
2480 次 |
| 最近记录: |