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

标签 linux shell ubuntu cron

我有以下脚本:

#!/bin/bash
jettyPid=`pgrep -f solr`

if [ "$jettyPid" == "" ]
then
   /etc/init.d/jetty start &
fi

如果执行:

./script.sh.

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

Starting Jetty: STARTED Jetty Fri Jun…

我不明白为什么会这样。

最佳答案

尝试在您的 cronjob 文件中设置 PATH

就我而言,

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

在您的 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

可以查看this question了解更多详情。

关于linux - 通过 Crontab 的 Shell 脚本 - 启动 Jetty,手动工作正常,但不能通过 crontab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24197327/

相关文章:

linux - DDOS 模组重写 IP 请求

bash - 两个不同文件中的总和数

c - 如何查找父进程的所有子进程(在 C 中)

linux -/bin/bash : line 120: docker: command not found

linux - 如何让Windows上的Apache Spark访问Linux上的Hadoop?

linux - 如何知道PPTP服务器自动分配的LAN中的PPTP客户端本地IP?

python-2.7 - python 脚本和 libGLEW 相关错误(menpo.io API)

ubuntu - 我如何安装虾

arrays - 在范围内创建随机数并访问数组索引图表

linux - 从变量中删除空格