需要通过crontab调用rvm下的rake命令,折腾了很久才搞定。
环境是Ubuntu 10.04
crontab的问题有90%是和path相关的,找不到正确的ruby, 找不到正确的gems。理解了这一点就变得容易了。只要正确设置:PATH, GEM_HOME, GEM_PATH就和命令行下运营一样了。
1. 确保你在正常的命令行下能够运行你想要调用的脚本或者程序。
2. 在上一步成功的基础上,查看PATH, GEM_HOME和GEM_PATH
$ echo $PATH
$ echo $GEM_HOME
$ echo $GEM_PATH
3. 把上面的变量设置到一个脚本中,比如set_cron_path.sh,下面是我们列子:
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
export GEM_HOME=/home/someboy/.rvm/gems/ruby-1.9.3-p125@zyt
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中
分享到:
相关推荐
crontab命令格式与例子,crontab file
crontab调用python,python中封装kettle的定时任务调用 调用,注意python中导入环境变量 30 0 * * * python /export/quality_kettle/kettle/Resposity/runKettle.py
在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。 如: 代码如下:[root@dave ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin ...
Crontab命令
该文档详细介绍crontab 定时任务的用法,希望对大家有用
关于linux命令crontab的用法,自己总结的 包含简单的用法
该文件具体的介绍了crontab自动执行程序的设置
crontab命令的功能是在一定的时间间隔调度一些命令的执行。
用于linux系统中crontab的设置,crontab是用于定时执行某个命令的机制,这里可以减少人工干预的劳动量.
Linux下crontab命令的用法 crontab命令是Linux系统下的定时任务触发器,它允许用户设置定期执行的任务。crontab命令的使用非常广泛,包括系统执行的工作和个人执行的工作。 系统执行的工作 系统执行的工作是指...
LINIUX下crontab命令的用法
aix下crontab命令.rar
Linux crontab 命令格式与详细例子
Linux 定时执行 Crontab 命令使用介绍借鉴 Linux 系统中的 Crontab 命令是一个非常有用的工具,用于在指定的时间执行...通过了解 Crontab 命令的基本用法和格式,我们可以更好地使用 Crontab 命令来实现我们的需求。
crontab命令使用浅析
手写的linux笔记,图文形式,尽可能的在难点地方写的详细一点,比如周期性的命令crontab,压缩命令,chmod命令的解析等等
Linux 系统中的定时脚本 crontab 是一个功能强大的工具,允许用户在指定的时间执行特定的命令或脚本。然而,在使用 crontab 执行 jar 文件时,如果输出结果包含中文字符,可能会出现乱码问题。本文将探讨该问题的...
一:使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行 1、 如何往 cron 中添加一个作业? # crontab –e 0 5 * * * /root/bin/...