`
zjueman
  • 浏览: 32611 次
  • 来自: ...
社区版块
存档分类
最新评论

通过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
  
      $ 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中
分享到:
评论
1 楼 zjx20 2013-01-15  
管用,赞一个!

相关推荐

    crontab命令格式与例子

    通过编写 crontab 文件(cron job),用户可以指定某个脚本或命令在特定的时间点自动运行。 #### 二、crontab命令格式 `crontab` 命令的基本格式为: ```bash crontab [选项] [文件] ``` 其中主要的选项包括: - `...

    crontab命令详解

    通过 `crontab`,用户可以在指定的时间间隔内自动执行脚本或者命令,这对于自动化运维、数据备份等场景非常有用。 #### 二、crontab 命令简介 `crontab` 的核心功能是在预设的时间间隔内调度执行一些命令。Linux ...

    crontab调用python,python中封装kettle的定时任务调用

    crontab调用python,python中封装kettle的定时任务调用 调用,注意python中导入环境变量 30 0 * * * python /export/quality_kettle/kettle/Resposity/runKettle.py

    Linux Crontab 定时任务 命令详解

    Crontab 命令的功能是在一定的时间间隔调度一些命令的执行,通过编写 Crontab 文件来实现。 1. Crontab 介绍 Crontab 命令的主要功能是调度一些命令的执行,以实现自动化管理和维护服务器。Crontab 文件可以由系统...

    使用linux命令crontab间隔时间执行其它命令

    在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。 如: 代码如下:[root@dave ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin ...

    Crontab命令.doc

    ### Crontab命令详解 Crontab是Unix和Linux系统中用于设置周期性任务调度的命令,它允许用户设定在特定的时间或间隔自动执行某个程序或脚本,从而实现自动化管理,提高系统的运行效率和便利性。下面我们将深入探讨...

    linux下crontab命令

    Linux 下 Crontab 命令 Crontab 是 Linux 中一个非常强大的功能,它允许用户在固定时间或固定间隔执行某个程序。Crontab 命令是用来设置和管理这些自动执行程序的。下面是 Crontab 命令的详细介绍: 语法 Crontab...

    crontab命令的用法

    关于linux命令crontab的用法,自己总结的 包含简单的用法

    Linux crontab 命令格式与详细例子

    ### Linux Crontab命令详解与应用实例 Cron是Linux系统中的一个守护进程,用于调度周期性执行的任务或脚本。Cron通过读取每个用户的crontab文件来确定哪些任务需要被执行,以及何时执行。本文将深入解析Crontab命令...

    crontab命令简介

    用于linux系统中crontab的设置,crontab是用于定时执行某个命令的机制,这里可以减少人工干预的劳动量.

    Linux下crontab命令的用法[归类].pdf

    Linux下crontab命令的用法 crontab命令是Linux系统下的定时任务触发器,它允许用户设置定期执行的任务。crontab命令的使用非常广泛,包括系统执行的工作和个人执行的工作。 系统执行的工作 系统执行的工作是指...

    linux C7 crontab离线安装包

    在Linux系统中,Crontab...总结来说,Linux CentOS 7的Crontab离线安装包提供了在无网络环境下安装和管理定时任务的能力,通过RPM包管理方式,我们可以方便地在系统中部署和配置Crontab,实现自动化维护和管理工作。

    LINIUX下crontab命令的用法

    LINIUX下crontab命令的用法

    Linux中使用crontab自动清除日志

    在 Linux 中使用 crontab 自动清除日志的方法是通过编写一个 shell 命令,然后在 cron 中编写定时任务。例如,以下是一个删除 30 天前的日志文件的 shell 命令: find /opt/soft/log/ -mtime +30 -name "*.log" -...

    在windows下配置crontab

    【在Windows下配置crontab】的知识点主要集中在如何在Windows环境中使用Cygwin来实现类似于Linux中的计划任务管理。Crontab是Linux和Unix系统中用于管理周期性任务的工具,而在Windows系统中,由于Dos Scripts的功能...

    [精华] crontab命令详解

    通过`crontab`,用户可以在预设的时间间隔内自动执行一系列命令。这为系统管理、自动化备份和其他周期性任务提供了便利。 #### 二、Crontab的工作原理 `crontab`的基本工作原理是读取用户的配置文件(通常位于`/...

    aix下crontab命令.rar

    下面我们将深入探讨`crontab`命令的使用方法、语法结构以及在AIX环境下的特定注意事项。 ### `crontab`命令基本用法 1. **列出当前用户的cron作业**:输入`crontab -l`,这将显示所有由当前用户设置的定时任务。 ...

    centos7 crontab 安装包

    “crontab”是指Linux下的定时任务调度工具;“rpm”是Red Hat和其兼容发行版(如CentOS)中用来管理软件包的格式;“安装包”则意味着我们需要通过这个包来安装或更新`crontab`功能。 【安装过程】 1. 首先,确保...

    crontab –e使用实操

    保存 Crontab 文件后, Crontab 将被写入到 /var/spool/cron/crontabs 目录下。可以使用以下命令查看 Crontab 文件: `crontab -l` 验证 Crontab 文件 使用以下命令可以验证 Crontab 文件是否存在: `ls -l /var...

Global site tag (gtag.js) - Google Analytics