Bash shell脚本调整-无法与cron一起正常工作

Bash shell脚本调整-无法与cron一起正常工作,bash,shell,cron,Bash,Shell,Cron,我使用这个bash脚本来检查服务是否正在运行,如果运行该脚本将退出,否则它将运行另一个脚本来执行一些命令 一旦完成,它将退出 我的问题是,当我手动运行脚本时,它工作正常,但当我使用cron运行脚本时,它没有运行并且没有正确执行。这是我的脚本 #!/bin/sh SERVICE='loop2.sh' if ps ax | grep -v grep | grep $SERVICE > /dev/null then echo "$SERVICE service runn

我使用这个bash脚本来检查服务是否正在运行,如果运行该脚本将退出,否则它将运行另一个脚本来执行一些命令 一旦完成,它将退出 我的问题是,当我手动运行脚本时,它工作正常,但当我使用cron运行脚本时,它没有运行并且没有正确执行。这是我的脚本

  #!/bin/sh
  SERVICE='loop2.sh'

  if ps ax | grep -v grep | grep $SERVICE > /dev/null
 then
     echo "$SERVICE service running, everything is fine"
 else
 /home//www/loop2.sh
 fi

对我的脚本进行任何调整,以使其在cron中正常工作,您并不是非常具体。你看到了什么错误

请注意,进程在具有精简环境的cron下运行。特别是环境变量,例如路径,将从交互式shell中大大减少

  • 记录脚本stdout/stderr,例如
    myscript2>&1>/tmp/script.log
  • 通过脚本中的
    env
    命令检查您的环境是否符合预期
  • 这个脚本真的符合你的要求吗?并按照您的意愿与cron进行交互?如果您的服务没有运行,您将生成一个新的服务,但我希望您将其放在后台,从而使其成为守护进程,而不是
    cron
    进程的(大)子进程
  • 脚本是否可由
    cron
    下的任何用户执行

  • 没有错误,假设我运行sh myshell.sh,运行正常,没有错误,执行直到退出,但是如果我将它添加到cron中,比如每隔5分钟运行一次*/5****/bin/sh/home/www/myshell.sh,它就不会运行