Hey!

Just been trying to figure out the same thing. This is what I came up with:

*/10 * * * * lockf -t 0 /home/anonymous/.myscript.rb.lock
/usr/local/bin/screen -d -m -S myscript
/home/anonymous/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
/home/anonymous/myscript.rb

Uses lockf to make sure the script isn't already running.

--Dwayne

On Sat, Jun 2, 2012 at 10:03 PM, Florian Gilcher <flo / andersground.net>wrote:

>
> On Jun 2, 2012, at 9:35 PM, Arun Tomar wrote:
>
>  On 06/03/2012 12:57 AM, Wybo Dekker wrote:
>
> I have, for the first time, installed ruby using rvm.
> I run my backups via crontab, calling a bash script that runs a ruby
> script. However, that script now tell me that it doesn't know about ruby.
> So I entered two lines in the bash script:
>
>   RVM=/usr/local/rvm/scripts/rvm
>   test -e $RVM && source $RVM
>
> and it runs OK; but it seems to me that this is not the way it should be
> done. Is it?
>
>
>
> Cron runs as sh shell. it doesn't read bashrc or profile.d files like
> rvm.sh. so it will not know where to find ruby that's installed in rvm.
>
> for one of our project this is how we've been running things:
>
> Note : We recommend to add cron job for checking the available network connections. Add following into the crontab :
>     */5 * * * * bash -c 'source /etc/profile.d/rvm.sh && /usr/bin/env ruby /usr/local/rvm/gems/ruby-1.9.3-p125/bin/ispunity monitor'
>
>
> also have a look at this
>
> https://rvm.io/integration/cron/
>
>
> Newer RVMs also have a script called `rvm_shell`.
>
>   $RVM_INSTALL_LOCATION/bin/rvm_shell 1.9.3 -c 'ispunity monitor'
>
> (or similar) should work.
>
> If you have a system level RVM, it should be rather easy.
>
> Regards,
> Florian
>