ruby 更新后,crontab 不工作 "bundler: not executable: bin/rails"
After ruby update, crontab not working "bundler: not executable: bin/rails"
ruby版本从2.3.1更新到2.3.7后,crontab无法在生产环境中执行(在本地环境中工作)。在更新之前,它正在运行。
我正在使用 rbenv,所以我在互联网上找到的解决此类问题的信息($rvm cron setup)不适合我的情况。
schedule.rb代码为:
env :PATH, ENV['PATH']
env :GEM_PATH, ENV['GEM_PATH']
rails_env = ENV['RAILS_ENV'] || :development
require File.expand_path(File.dirname(__FILE__) + "/environment")
set :environment, rails_env
set :output, "#{Rails.root}/log/cron.log"
every 1.day do
runner "Reminder.reminder_mail"
end
奇怪的是,ruby版本显示
$ ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [x86_64-linux]
但环境显示不同 ruby 版本..
$ bundle env
Ruby 2.3.1p112 (2016-04-26 revision 0) [x86_64-linux-gnu]
不知道是不是问题,如何解决
crontab 的当前设置是:
$ crontab -l
PATH=/home/franky/list/voendor/bundler/ruby/2.3.0/bin:/usr/local/bin:/home/franky/.gem/ruby/2.3.0/bin:/usr/local/rbenv/shims:~/.rbenv/shims:/usr/local/rbenv/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
GEM_PATH=””
0 0 * * * /bin/bash -l -c ‘cd /home/franky/list && bundle exec bin/rails runner -e production ‘'‘Reminder.reminder_mail’'’ » /home/franky/list/log/cron.log 2>&1’
有人可以帮我解决这个问题吗?
我可以用 "rake db:drop" 和 "rake db:create" 解决这个问题!!!
crontab 又开始工作了!
ruby版本从2.3.1更新到2.3.7后,crontab无法在生产环境中执行(在本地环境中工作)。在更新之前,它正在运行。
我正在使用 rbenv,所以我在互联网上找到的解决此类问题的信息($rvm cron setup)不适合我的情况。
schedule.rb代码为:
env :PATH, ENV['PATH']
env :GEM_PATH, ENV['GEM_PATH']
rails_env = ENV['RAILS_ENV'] || :development
require File.expand_path(File.dirname(__FILE__) + "/environment")
set :environment, rails_env
set :output, "#{Rails.root}/log/cron.log"
every 1.day do
runner "Reminder.reminder_mail"
end
奇怪的是,ruby版本显示
$ ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [x86_64-linux]
但环境显示不同 ruby 版本..
$ bundle env
Ruby 2.3.1p112 (2016-04-26 revision 0) [x86_64-linux-gnu]
不知道是不是问题,如何解决
crontab 的当前设置是:
$ crontab -l
PATH=/home/franky/list/voendor/bundler/ruby/2.3.0/bin:/usr/local/bin:/home/franky/.gem/ruby/2.3.0/bin:/usr/local/rbenv/shims:~/.rbenv/shims:/usr/local/rbenv/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
GEM_PATH=””
0 0 * * * /bin/bash -l -c ‘cd /home/franky/list && bundle exec bin/rails runner -e production ‘'‘Reminder.reminder_mail’'’ » /home/franky/list/log/cron.log 2>&1’
有人可以帮我解决这个问题吗?
我可以用 "rake db:drop" 和 "rake db:create" 解决这个问题!!! crontab 又开始工作了!