通过 Crontab 的 Shell 脚本 - 启动 Jetty,手动工作正常,但不能通过 crontab

elf*_*elf 0 linux shell ubuntu cron

我有以下脚本:

\n\n
#!/bin/bash\njettyPid=`pgrep -f solr`\n\nif [ "$jettyPid" == "" ]\nthen\n   /etc/init.d/jetty start &\nfi\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果执行以下命令,则效果很好:

\n\n
./script.sh.\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题是,如果我把它放在 cron 作业上,Jetty 将不会\xe2\x80\x99t 启动,但是,它会记录到我的日志文件中:

\n\n
\n

启动码头:已启动码头周五 Jun\xe2\x80\xa6

\n
\n\n

我不明白为什么会这样。

\n

Cha*_*ala 5

尝试在 cronjob 文件中设置 PATH

就我而言,

echo $PATH 
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
Run Code Online (Sandbox Code Playgroud)

在 crontab 中添加路径:crontab -e

PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

30 5 * * * runmyscript
Run Code Online (Sandbox Code Playgroud)

您可以检查此问题以获取更多详细信息。