Errors while running cron jobs often generate "mail" whether you've set it up or not.
You can likely check your mail by just running the mail
command.
Also, in your crontab, add >> /tmp/cron.log
after your script, at least you'll see whatever logs get generated from that.
Most likely though, the script works when ran manually because it uses your user's env variables, such as PATH
.
I usually just use absolute paths for everything when using cron and this takes care of the vast majority of my issues.