Ruby on Rails Sunday, September 2, 2012



On Thursday, 30 August 2012 09:33:41 UTC-4, zhangjingqiang wrote:

OS : Ubuntu 12.04

Now I use Backup and Whenever gem to backup my database.
When I run backup perform -t my_backup ,I can works.
But when I check the task crontab -l ,it as this:
0 22 * * * /bin/bash -l -c 'backup perform -t my_backup'
Run cat /etc/crontab to check my cron configuration file,it's:
SHELL=/bin/sh  PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 It's different between /bin/bash and /bin/sh ,how to do?

Cron runs commands with a very limited environment - PATH, for instance, may be missing things that it would have in your normal login shell. It's typically a good idea to put an explicit path to any executable needed - so /some/path/to/backup instead of just backup.

Digging around in the code for 'backup' also shows that you may want to pass --root-path=/wherever/your/app/lives to the script as well, to ensure that it can find the config files, etc that it needs.

--Matt Jones
 

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/aqgNvWZ4-4AJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment