为什么在使用 crontab 时 运行 无法启动延迟作业命令
Why can't run start delayed job command when use crontab
#!/bin/bash
#!/usr/bin/env ruby
cd /var/www/project
if [ ! -f tmp/pids/delayed_job.pid ]; then
echo "File not found!"
pwd
./bin/delayed_job start
echo "Run script successful!"
fi
在我的代码中,启动正常但 运行 使用 crontab 不工作。
任何想法请。
解决了。
我使用 rbenv ruby 安装并设置到 .bash_profile。是的环境工作但是我 运行 ruby 在 crontab 中不工作。
解决方案:我将 .bash_profile 中的一些配置复制到我的脚本中,如下所示
#!/bin/sh
#below script from .bash_profile
PATH=$PATH:$HOME/bin
export PATH
export PATH=$HOME/.rbenv/bin:$PATH
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
#end script from .bash_profile
RAILS_HOME="/var/www/{project}"
if [ ! -f $RAILS_HOME/tmp/pids/delayed_job.pid ]; then
echo "Starting Delayed job"
$RAILS_HOME/bin/delayed_job start
fi
#!/bin/bash
#!/usr/bin/env ruby
cd /var/www/project
if [ ! -f tmp/pids/delayed_job.pid ]; then
echo "File not found!"
pwd
./bin/delayed_job start
echo "Run script successful!"
fi
在我的代码中,启动正常但 运行 使用 crontab 不工作。
任何想法请。
解决了。
我使用 rbenv ruby 安装并设置到 .bash_profile。是的环境工作但是我 运行 ruby 在 crontab 中不工作。
解决方案:我将 .bash_profile 中的一些配置复制到我的脚本中,如下所示
#!/bin/sh
#below script from .bash_profile
PATH=$PATH:$HOME/bin
export PATH
export PATH=$HOME/.rbenv/bin:$PATH
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
#end script from .bash_profile
RAILS_HOME="/var/www/{project}"
if [ ! -f $RAILS_HOME/tmp/pids/delayed_job.pid ]; then
echo "Starting Delayed job"
$RAILS_HOME/bin/delayed_job start
fi