Welcome 微信登录

首页 / 操作系统 / Linux / 通过crontab调用rvm下的rake命令

需要通过crontab调用rvm下的rake命令,折腾了很久才搞定。 环境是Ubuntu 10.04 crontab的问题有90%是和path相关的,找不到正确的ruby, 找不到正确的gems。理解了这一点就变得容易了。只要正确设置:PATH, GEM_HOME, GEM_PATH就和命令行下运营一样了。 1. 确保你在正常的命令行下能够运行你想要调用的脚本或者程序。
2. 在上一步成功的基础上,查看PATH, GEM_HOME和GEM_PATH
  1. $ echo $PATH   
  2. $ echo $GEM_HOME   
  3. $ echo $GEM_PATH   
3. 把上面的变量设置到一个脚本中,比如set_cron_path.sh,下面是我们列子:
  1. export PATH=/home/someboy/.rvm/gems/ruby-1.9.3-p125@zyt/bin:/home/someboy/.rvm/gems/ruby-1.9.3-p125@global/bin:/home/someboy/.rvm/rubies/ruby-1.9.3-p125/bin:/home/someboy/.rvm/bin:/usr/local/ruby/bin:/usr/local/ImageMagick/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games   
  2. export GEM_HOME=/home/someboy/.rvm/gems/ruby-1.9.3-p125@zyt  
  3. export GEM_PATH=/home/someboy/.rvm/gems/ruby-1.9.3-p125@zyt:/home/someboy/.rvm/gems/ruby-1.9.3-p125@global  
4. 在crontab里面调用这个脚本,比如: 03 * * * * . /home/someboy/set_cron193_path.sh; /bin/bash -l -c "cd /home/someboy/apps/zyt && RAILS_ENV=production rake platform_comment:get_comments --trace >>/home/someboy/apps/zyt/log/platform_comment.log 2>&1"   这样应该就可以了。还有其他可能常见的问题,比如某些文件没有权限等。
上面的例子会把日子输入到相应的log中,可以查看运营的情况。
crontab自己的log写在/var/log/syslog中 启动eclipse时让aptana的启动画面不出现Ubuntu 12.04下安装天气指示器My Weather Indicator相关资讯      Crontab 
  • Linux任务管理工具之 Crontab  (08月06日)
  • Linux定时任务Crontab命令详解  (10/24/2015 08:58:49)
  • CentOS下使用yum命令安装计划任务  (10/02/2015 10:04:23)
  • crontab 问题分析  (04月13日)
  • Ubuntu下用crontab 部署定时任务  (10/14/2015 09:17:47)
  • crontab任务调度健康检测  (09/15/2015 10:00:24)
本文评论 查看全部评论 (0)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一