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

时间:2012-10-31 11:11:28

标签: bash shell cron

我使用这个bash脚本来检查服务是否正在运行,如果运行脚本将退出,否则它将运行另一个gona执行一些命令的脚本 一旦完成,它将退出 我的问题是当我运行我的脚本manuly它的工作正常,但当我用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中正常工作

1 个答案:

答案 0 :(得分:1)

你不是很具体。你看到什么错误?

请注意,进程在cron下运行并具有缩减环境。特别是诸如PATH之类的环境变量将从交互式shell中大大减少。

  1. 记录您的脚本stdout / stderr,例如myscript 2>&1 >/tmp/script.log
  2. 通过脚本中的env命令
  3. 检查您的环境是否符合预期
  4. 这个脚本真的做你想做的吗?和cron如何互动?如果你的服务没有运行,你会产生一个新的服务,但是我希望你把它放在后台,从而使它成为一个守护进程而不是cron进程的(大)子进程
  5. 是您的脚本可执行文件,由cron下的任何用户执行?