[Whenever gem]What is the reason that linux's cron can't automatic running?

OS : Ubuntu 12.04

Now I use Backup https://github.com/meskyanichi/backup and
Wheneverhttps://github.com/javan/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?

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

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 J.