【问题标题】:While Calling through crontab mail is not going from ruby虽然通过 crontab 邮件调用不是来自 ruby
【发布时间】:2013-01-18 21:10:34
【问题描述】:

我正在尝试通过 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

请帮我找到解决办法。

【问题讨论】:

  • 你确定它可以找到~/program.rb,因为~ 是当前用户的根目录吗?尝试在此处使用完整路径。
  • 以下 crontab 条目生成的输出是什么: * * * * * which ruby​​ > /tmp/which_ruby.txt
  • 只使用准确的路径.....上面我给出的路径举例

标签: ruby shell crontab postfix-mta


【解决方案1】:

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

cd /path/to/directory && ./process.sh

【讨论】:

    猜你喜欢
    • 2012-03-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 2019-05-27
    • 2018-09-29
    • 2013-02-21
    • 2020-04-01
    • 1970-01-01
    相关资源
    最近更新 更多