0

我正在尝试通过 crontab 调用 shell 脚本。从 shellscript 我正在调用一个运行 ruby​​ 代码的命令。

~/process.sh

    ruby ~/program.rb

在 ruby​​ 代码中,我正在检查一个进程是否正在运行,如果没有尝试发送邮件。

result = `ps aux | grep unicorn`
unless result.match(/unicorn_rails master -c config\/unicorn\/unicorn_development.rb -E   development -D/)
   `echo "Stopped" | mail -s "a subject" someone@somedomain.com`
end 

当我尝试从终端运行 shell 脚本时,它正在完美地发送邮件。但是从 crontab 呼叫正在发生,但邮件没有发送。

在 crontab 里面我调用 shell 脚本,比如

00 */1    * * *   ~/process.sh

请帮我找到解决方案。

4

1 回答 1

0

运行程序前尝试进入指定目录:

cd /path/to/directory && ./process.sh
于 2013-02-04T08:22:21.317 回答