我试图通过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
请帮我找一个解决方案。
答案 0 :(得分:0)
在运行程序之前尝试转到指定的目录:
cd /path/to/directory && ./process.sh