Shell script doesn't get executed using crontab

I have the following crontab entry to run a shell script for every 30 minutes of every day:

30 * * * * $HOME/main.sh > $HOME/main.log 2>$HOME/error.log

after I created the crontab file I have also done:
$crontab my_crontab

I also check to make sure it exists, by using the following command.
$crontab -l
I get the crontab entry- 30 * * * * $HOME/main.sh > $HOME/main.log 2>$HOME/error.log

But, why is the shell script not getting executed every minute?

please read the rules:
(5) Search the forums database with your keywords before asking.

I actually searched the forum and read the cron and crontab article. I did not find a resolution to this problem. Which is why I posted it.

in this case you've probably read about the enviroment settings as they pertained to cron?

I didn't think the problem was in environment variables- because the following works:
45 13 * * 1-5 $HOME/main_ics.sh >> $HOME/main_ics.log 2>>$HOME/error.log

but not when I change the cron to:
30 * * * * $HOME/main.sh > $HOME/main.log 2>$HOME/error.log

aren't they 2 different scripts?

They are not I just changed the script name for posting and forgot to change on my reply.

... and you wait till the clock strikes 30mins after the hour and nothing happens?
strange...

how do i change it to for every 30 minutes rather than 30minutes after the hour. May be I was checking it incorrectly. Because my intention is to do it every half hour.

Sorry, I've misspoken - it's every 30mins, e.g. 14:00, 14:30, 15:00 etc...

okay! I found my problem. It's not a problem, I was misinterpreting the minute part.

When we say

30 * * * * test.sh implies it runs 30mins after the hour. Not every 30 minutes. If I want the script to run every 30 minutes then we should say-

0, 30 * * * * test.sh

I tested this logic using short time 1 minute. For ex:
1 * * * * test.sh will run at 1 minute after every hour.

1, 5 * * * * test.sh will run at 1minute after every hour and 5 minutes after every hour.

Radhika.

Radhika that's right u might use in crontab:

00,30 * *.......