0

I was trying to create a cron job which runs a ruby code on digital ocean, however it seems I'm making a mistake. It doesn't give any error but it doesn't also do anything. I ran this cronjob on my raspberry pi however on digital ocean it doesn't work. Here my cronjob

59 17 * * * ruby /home/workspace/delta/analytics/analyze.rb 7 >> /home/testruby

It creates testruby file but analyze.rb 7 doesn't work. I tested running ruby /home/ .... and it is working. What might be the problem?

UPDATE

error file: bin/sh: 1: /usr/local/bin/ruby: not found

This is what I wrote in my crontab

* * * * * /usr/local/bin/ruby /home/workspace/deriva/analytics/analyze.rb 7 >> /home/testruby 2>&1
2
  • 1
    There error is a little odd, was there a / in front (/bin/sh:…)? Anyway, are you sure that is the right path to Ruby? ls -l /usr/local/bin/ruby shows it? What about command -v ruby?
    – derobert
    May 29, 2015 at 17:27
  • @derobert Well, the command that you wrote shows the actual directory of ruby. After giving it, it started to work. Mine is /usr/local/rvm/rubies/ruby-2.1.3/bin/ruby . Thank you Jun 1, 2015 at 6:23

1 Answer 1

2

Different environment variables, working directory, ... You need to debug where exactly analyze.rb is bailing out.

First, you're only redirecting stdout, not stderr. Errors probably go to the later, so adding a 2>&1 to the end may help a lot. Or setting EMAIL= at the top of your crontab to have them mailed to you.

You can confirm that ruby is starting up the print "starting!\n" or similar to the beginning of your Ruby script, and seeing if that shows up in the log file.

5
  • Thank you, I added what you said, it gives the error "ruby not found". How can this happen? I run the same code on the command line and it is working May 28, 2015 at 18:33
  • @AhmetTanakol Different $PATH. You can fix by using the full path to ruby or putting a PATH= line at the top of the crontab.
    – derobert
    May 28, 2015 at 18:38
  • Thank you, I tried to give full path to ruby but still same error. I will search it May 28, 2015 at 19:02
  • @AhmetTanakol please edit your question to include the new crontab (with the full path to ruby) and the exact error message produced.
    – derobert
    May 28, 2015 at 19:05
  • I updated my question with the error message. May 29, 2015 at 10:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .