Script runs successfully on the command line, but not as a cronjob

I have a bash script that runs a ruby ​​script that retrieves my twitter feeds.

## /home/username/twittercron

#!/bin/bash

cd /home/username/twitter
ruby twitter.rb friends

Running successfully on the command line.

/home/username/twittercron

But when I try to run it as a cronjob, it starts, but could not get the feeds.

## crontab -e

*/15 * * * * * /home/username/twittercron

script - chmod + x. Not sure why this is as such. Any ideas?

+5
source share
6 answers

Error Ruby Version Manager (rvm). I had to invoke a script in cron like this.

*/15 * * * * bash -c 'source /home/username/.rvm/scripts/rvm && /usr/bin/env ruby /home/username/twitter/twitter.rb friends'
+11
source

I think this can be done simply by forcing bash to act as a login shell, so it creates .bashrc, etc .:

*/15 * * * * * /bin/bash -l -c '/home/username/twittercron'

There is an article about it here.

+9
source

, http://github.com/javan/whenever

Ruby DSL cron .

every 3.hours do
  runner "MyModel.some_process"
  rake "my:rake:task"
  command "/usr/bin/my_great_command"
end
+1

( env).

*/15 * * * * * /usr/bin/env sh /home/username/twittercron

:

*/15 * * * * * /usr/bin/env ruby /home/username/twitter/twitter.rb friends
0

* crontab.

0

, . bash script, echo done>debug.log , , debug.log. ## /home/username/twittercron script #!/bin/bash .

*/15 * * * * * /bin/bash /home/username/twittercron
0

All Articles