ruby-on-rails – ruby??on rails,rake,crontab和encoding
发布时间:2020-12-17 02:58:48 所属栏目:百科 来源:网络整理
导读:我有一个rails rake任务,运行得很好.我希望crontab定期运行此任务,因此我将其添加到crontab,如下所示: 0,30,0 * * * * cd /var/www/html/metajorn RAILS_ENV=production /usr/local/bin/rake myraketask --trace /var/www/html/metajorn/log/cron_log.log 2
我有一个rails rake任务,运行得很好.我希望crontab定期运行此任务,因此我将其添加到crontab,如下所示:
0,30,0 * * * * cd /var/www/html/metajorn && RAILS_ENV=production /usr/local/bin/rake myraketask --trace >> /var/www/html/metajorn/log/cron_log.log 2>&1 在cron_log.log中我看到以下错误: rake aborted! invalid byte sequence in US-ASCII /var/www/html/metajorn/config/boot.rb:98:in `parse_gem_version' /var/www/html/metajorn/config/boot.rb:80:in `gem_version' /var/www/html/metajorn/config/boot.rb:59:in `load_rails_gem' /var/www/html/metajorn/config/boot.rb:54:in `load_initializer' /var/www/html/metajorn/config/boot.rb:38:in `run' /var/www/html/metajorn/config/boot.rb:11:in `boot!' /var/www/html/metajorn/config/boot.rb:110:in `<top (required)>' /var/www/html/metajorn/Rakefile:4:in `require' /var/www/html/metajorn/Rakefile:4:in `<top (required)>' /usr/local/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2383:in `load' /usr/local/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rakefile' /usr/local/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2017:in `block in load_rakefile' /usr/local/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' /usr/local/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2016:in `load_rakefile' /usr/local/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2000:in `block in run' /usr/local/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' /usr/local/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:1998:in `run' /usr/local/bin/rake:31:in `<main>' 值得注意的是,如果我手动运行它,任务工作正常. 谢谢, 中号 解决方法
感谢Carl Smotricz的暗示!
我终于解决了这个问题: 要解决这个问题,我只需要通过在我的crond文件中添加以下行来更改crond的编码(在我的centos5中,它位于:/ var / spool / cron / root) SHELL=/bin/bash LANG=en_US.UTF-8 LANGUAGE=en LC_CTYPE=en_US.UTF-8 LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" 比,重启crond:service crond restart M. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |